summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README185
-rw-r--r--README.md148
-rw-r--r--doc/IntObj.317
-rw-r--r--doc/coroutine.n106
-rw-r--r--doc/file.n30
-rw-r--r--doc/timerate.n2
-rw-r--r--generic/tcl.decls5
-rw-r--r--generic/tcl.h1
-rw-r--r--generic/tclBasic.c286
-rw-r--r--generic/tclCmdAH.c1
-rw-r--r--generic/tclCmdMZ.c6
-rw-r--r--generic/tclDecls.h9
-rw-r--r--generic/tclExecute.c8
-rw-r--r--generic/tclFCmd.c147
-rw-r--r--generic/tclInt.decls8
-rw-r--r--generic/tclInt.h6
-rw-r--r--generic/tclIntDecls.h13
-rw-r--r--generic/tclStrToD.c2
-rw-r--r--generic/tclStubInit.c14
-rw-r--r--generic/tclTestObj.c4
-rw-r--r--generic/tclTomMath.decls2
-rw-r--r--generic/tclTomMath.h35
-rw-r--r--generic/tclTomMathDecls.h20
-rw-r--r--generic/tclUtil.c6
-rw-r--r--libtommath/bn_mp_and.c84
-rw-r--r--libtommath/bn_mp_cmp.c19
-rw-r--r--libtommath/bn_mp_cmp_d.c19
-rw-r--r--libtommath/bn_mp_cmp_mag.c21
-rw-r--r--libtommath/bn_mp_get_bit.c44
-rw-r--r--libtommath/bn_mp_or.c82
-rw-r--r--libtommath/bn_mp_signed_rsh.c22
-rw-r--r--libtommath/bn_mp_tc_and.c90
-rw-r--r--libtommath/bn_mp_tc_div_2d.c35
-rw-r--r--libtommath/bn_mp_tc_or.c90
-rw-r--r--libtommath/bn_mp_tc_xor.c90
-rw-r--r--libtommath/bn_mp_xor.c82
-rw-r--r--libtommath/bn_s_mp_get_bit.c21
-rw-r--r--libtommath/callgraph.txt21542
-rw-r--r--libtommath/tommath.h26
-rw-r--r--libtommath/tommath_class.h12
-rw-r--r--tests-perf/test-performance.tcl12
-rw-r--r--tests/cmdAH.test60
-rw-r--r--tests/cmdMZ.test4
-rw-r--r--tests/coroutine.test153
-rw-r--r--tests/interp.test2
-rw-r--r--tools/genStubs.tcl4
-rw-r--r--tools/man2help2.tcl2
-rw-r--r--tools/man2html2.tcl22
-rw-r--r--tools/regexpTestLib.tcl6
-rw-r--r--tools/str2c2
-rw-r--r--unix/Makefile.in28
-rw-r--r--unix/tclUnixFCmd.c79
-rw-r--r--win/Makefile.in7
-rw-r--r--win/makefile.vc7
-rw-r--r--win/tclWinFCmd.c115
55 files changed, 1434 insertions, 22409 deletions
diff --git a/README b/README
deleted file mode 100644
index 30c6076..0000000
--- a/README
+++ /dev/null
@@ -1,185 +0,0 @@
-README: Tcl
- This is the Tcl 8.7a2 source distribution.
- http://sourceforge.net/projects/tcl/files/Tcl/
- You can get any source release of Tcl from the URL above.
-
-Contents
---------
- 1. Introduction
- 2. Documentation
- 3. Compiling and installing Tcl
- 4. Development tools
- 5. Tcl newsgroup
- 6. The Tcler's Wiki
- 7. Mailing lists
- 8. Support and Training
- 9. Tracking Development
- 10. Thank You
-
-1. Introduction
----------------
-Tcl provides a powerful platform for creating integration applications that
-tie together diverse applications, protocols, devices, and frameworks.
-When paired with the Tk toolkit, Tcl provides the fastest and most powerful
-way to create GUI applications that run on PCs, Unix, and Mac OS X.
-Tcl can also be used for a variety of web-related tasks and for creating
-powerful command languages for applications.
-
-Tcl is maintained, enhanced, and distributed freely by the Tcl community.
-Source code development and tracking of bug reports and feature requests
-takes place at:
-
- http://core.tcl-lang.org/
-
-Tcl/Tk release and mailing list services are hosted by SourceForge:
-
- http://sourceforge.net/projects/tcl/
-
-with the Tcl Developer Xchange hosted at:
-
- http://www.tcl-lang.org/
-
-Tcl is a freely available open source package. You can do virtually
-anything you like with it, such as modifying it, redistributing it,
-and selling it either in whole or in part. See the file
-"license.terms" for complete information.
-
-2. Documentation
-----------------
-
-Extensive documentation is available at our website.
-The home page for this release, including new features, is
- http://www.tcl-lang.org/software/tcltk/8.7.html
-
-Detailed release notes can be found at the file distributions page
-by clicking on the relevant version.
- http://sourceforge.net/projects/tcl/files/Tcl/
-
-Information about Tcl itself can be found at
- http://www.tcl-lang.org/about/
-
-There have been many Tcl books on the market. Many are mentioned in the Wiki:
- http://wiki.tcl-lang.org/_/ref?N=25206
-
-To view the complete set of reference manual entries for Tcl 8.7 online,
-visit the URL:
- http://www.tcl-lang.org/man/tcl8.7/
-
-2a. Unix Documentation
-----------------------
-
-The "doc" subdirectory in this release contains a complete set of
-reference manual entries for Tcl. Files with extension ".1" are for
-programs (for example, tclsh.1); files with extension ".3" are for C
-library procedures; and files with extension ".n" describe Tcl
-commands. The file "doc/Tcl.n" gives a quick summary of the Tcl
-language syntax. To print any of the man pages on Unix, cd to the
-"doc" directory and invoke your favorite variant of troff using the
-normal -man macros, for example
-
- ditroff -man Tcl.n
-
-to print Tcl.n. If Tcl has been installed correctly and your "man" program
-supports it, you should be able to access the Tcl manual entries using the
-normal "man" mechanisms, such as
-
- man Tcl
-
-2b. Windows Documentation
--------------------------
-
-The "doc" subdirectory in this release contains a complete set of Windows
-help files for Tcl. Once you install this Tcl release, a shortcut to the
-Windows help Tcl documentation will appear in the "Start" menu:
-
- Start | Programs | Tcl | Tcl Help
-
-3. Compiling and installing Tcl
--------------------------------
-
-There are brief notes in the unix/README, win/README, and macosx/README about
-compiling on these different platforms. There is additional information
-about building Tcl from sources at
-
- http://www.tcl-lang.org/doc/howto/compile.html
-
-4. Development tools
----------------------------
-
-ActiveState produces a high quality set of commercial quality development
-tools that is available to accelerate your Tcl application development.
-Tcl Dev Kit builds on the earlier TclPro toolset and provides a debugger,
-static code checker, single-file wrapping utility, bytecode compiler and
-more. More information can be found at
-
- http://www.ActiveState.com/Tcl
-
-5. Tcl newsgroup
-----------------
-
-There is a USENET news group, "comp.lang.tcl", intended for the exchange of
-information about Tcl, Tk, and related applications. The newsgroup is a
-great place to ask general information questions. For bug reports, please
-see the "Support and bug fixes" section below.
-
-6. Tcl'ers Wiki
----------------
-
-A Wiki-based open community site covering all aspects of Tcl/Tk is at:
-
- http://wiki.tcl-lang.org/
-
-It is dedicated to the Tcl programming language and its extensions. A
-wealth of useful information can be found there. It contains code
-snippets, references to papers, books, and FAQs, as well as pointers to
-development tools, extensions, and applications. You can also recommend
-additional URLs by editing the wiki yourself.
-
-7. Mailing lists
-----------------
-
-Several mailing lists are hosted at SourceForge to discuss development or
-use issues (like Macintosh and Windows topics). For more information and
-to subscribe, visit:
-
- http://sourceforge.net/projects/tcl/
-
-and go to the Mailing Lists page.
-
-8. Support and Training
-------------------------
-
-We are very interested in receiving bug reports, patches, and suggestions
-for improvements. We prefer that you send this information to us as
-tickets entered into our tracker at:
-
- http://core.tcl-lang.org/tcl/reportlist
-
-We will log and follow-up on each bug, although we cannot promise a
-specific turn-around time. Enhancements may take longer and may not happen
-at all unless there is widespread support for them (we're trying to
-slow the rate at which Tcl/Tk turns into a kitchen sink). It's very
-difficult to make incompatible changes to Tcl/Tk at this point, due to
-the size of the installed base.
-
-The Tcl community is too large for us to provide much individual support
-for users. If you need help we suggest that you post questions to
-comp.lang.tcl. We read the newsgroup and will attempt to answer esoteric
-questions for which no one else is likely to know the answer. In addition,
-see the following Web site for links to other organizations that offer
-Tcl/Tk training:
-
- http://wiki.tcl-lang.org/training
-
-9. Tracking Development
------------------------
-
-Tcl is developed in public. To keep an eye on how Tcl is changing, see
- http://core.tcl-lang.org/
-
-10. Thank You
--------------
-
-We'd like to express our thanks to the Tcl community for all the
-helpful suggestions, bug reports, and patches we have received.
-Tcl/Tk has improved vastly and will continue to do so with your help.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8bc67db
--- /dev/null
+++ b/README.md
@@ -0,0 +1,148 @@
+# README: Tcl
+
+This is the **Tcl 8.7a2** source distribution.
+
+You can get any source release of Tcl from [our distribution
+site](https://sourceforge.net/projects/tcl/files/Tcl/).
+
+[![Build Status](https://travis-ci.org/tcltk/tcl.svg?branch=core-8-branch)](https://travis-ci.org/tcltk/tcl)
+
+## Contents
+ 1. [Introduction](#intro)
+ 2. [Documentation](#doc)
+ 3. [Compiling and installing Tcl](#build)
+ 4. [Development tools](#devtools)
+ 5. [Tcl newsgroup](#complangtcl)
+ 6. [The Tcler's Wiki](#wiki)
+ 7. [Mailing lists](#email)
+ 8. [Support and Training](#support)
+ 9. [Tracking Development](#watch)
+ 10. [Thank You](#thanks)
+
+## <a id="intro">1.</a> Introduction
+Tcl provides a powerful platform for creating integration applications that
+tie together diverse applications, protocols, devices, and frameworks.
+When paired with the Tk toolkit, Tcl provides the fastest and most powerful
+way to create GUI applications that run on PCs, Unix, and Mac OS X.
+Tcl can also be used for a variety of web-related tasks and for creating
+powerful command languages for applications.
+
+Tcl is maintained, enhanced, and distributed freely by the Tcl community.
+Source code development and tracking of bug reports and feature requests
+takes place at [core.tcl-lang.org](https://core.tcl-lang.org/).
+Tcl/Tk release and mailing list services are [hosted by
+SourceForge](https://sourceforge.net/projects/tcl/)
+with the Tcl Developer Xchange hosted at
+[www.tcl-lang.org](https://www.tcl-lang.org).
+
+Tcl is a freely available open source package. You can do virtually
+anything you like with it, such as modifying it, redistributing it,
+and selling it either in whole or in part. See the file
+`license.terms` for complete information.
+
+## <a id="doc">2.</a> Documentation
+Extensive documentation is available at our website.
+The home page for this release, including new features, is
+[here](https://www.tcl.tk/software/tcltk/8.7.html).
+Detailed release notes can be found at the
+[file distributions page](https://sourceforge.net/projects/tcl/files/Tcl/)
+by clicking on the relevant version.
+
+Information about Tcl itself can be found at the [Developer
+Xchange](https://www.tcl-lang.org/about/).
+There have been many Tcl books on the market. Many are mentioned in
+[the Wiki](https://wiki.tcl-lang.org/_/ref?N=25206).
+
+The complete set of reference manual entries for Tcl 8.7 is [online,
+here](https://www.tcl-lang.org/man/tcl8.7/).
+
+### <a id="doc.unix">2a.</a> Unix Documentation
+The `doc` subdirectory in this release contains a complete set of
+reference manual entries for Tcl. Files with extension "`.1`" are for
+programs (for example, `tclsh.1`); files with extension "`.3`" are for C
+library procedures; and files with extension "`.n`" describe Tcl
+commands. The file "`doc/Tcl.n`" gives a quick summary of the Tcl
+language syntax. To print any of the man pages on Unix, cd to the
+"doc" directory and invoke your favorite variant of troff using the
+normal -man macros, for example
+
+ groff -man -Tpdf Tcl.n >output.pdf
+
+to print Tcl.n to PDF. If Tcl has been installed correctly and your "man" program
+supports it, you should be able to access the Tcl manual entries using the
+normal "man" mechanisms, such as
+
+ man Tcl
+
+### <a id="doc.win">2b.</a> Windows Documentation
+The "doc" subdirectory in this release contains a complete set of Windows
+help files for Tcl. Once you install this Tcl release, a shortcut to the
+Windows help Tcl documentation will appear in the "Start" menu:
+
+ Start | Programs | Tcl | Tcl Help
+
+## <a id="build">3.</a> Compiling and installing Tcl
+There are brief notes in the `unix/README`, `win/README`, and `macosx/README`
+about compiling on these different platforms. There is additional information
+about building Tcl from sources
+[online](https://www.tcl-lang.org/doc/howto/compile.html).
+
+## <a id="devtools">4.</a> Development tools
+ActiveState produces a high quality set of commercial quality development
+tools that is available to accelerate your Tcl application development.
+Tcl Dev Kit builds on the earlier TclPro toolset and provides a debugger,
+static code checker, single-file wrapping utility, bytecode compiler and
+more. More information can be found at
+
+ http://www.ActiveState.com/Tcl
+
+## <a id="complangtcl">5.</a> Tcl newsgroup
+There is a USENET news group, "`comp.lang.tcl`", intended for the exchange of
+information about Tcl, Tk, and related applications. The newsgroup is a
+great place to ask general information questions. For bug reports, please
+see the "Support and bug fixes" section below.
+
+## <a id="wiki">6.</a> Tcl'ers Wiki
+There is a [wiki-based open community site](https://wiki.tcl-lang.org/)
+covering all aspects of Tcl/Tk.
+
+It is dedicated to the Tcl programming language and its extensions. A
+wealth of useful information can be found there. It contains code
+snippets, references to papers, books, and FAQs, as well as pointers to
+development tools, extensions, and applications. You can also recommend
+additional URLs by editing the wiki yourself.
+
+## <a id="email">7.</a> Mailing lists
+Several mailing lists are hosted at SourceForge to discuss development or use
+issues (like Macintosh and Windows topics). For more information and to
+subscribe, visit [here](https://sourceforge.net/projects/tcl/) and go to the
+Mailing Lists page.
+
+## <a id="support">8.</a> Support and Training
+We are very interested in receiving bug reports, patches, and suggestions for
+improvements. We prefer that you send this information to us as tickets
+entered into [our issue tracker](https://core.tcl-lang.org/tcl/reportlist).
+
+We will log and follow-up on each bug, although we cannot promise a
+specific turn-around time. Enhancements may take longer and may not happen
+at all unless there is widespread support for them (we're trying to
+slow the rate at which Tcl/Tk turns into a kitchen sink). It's very
+difficult to make incompatible changes to Tcl/Tk at this point, due to
+the size of the installed base.
+
+The Tcl community is too large for us to provide much individual support for
+users. If you need help we suggest that you post questions to `comp.lang.tcl`
+or ask a question on [Stack
+Overflow](https://stackoverflow.com/questions/tagged/tcl). We read the
+newsgroup and will attempt to answer esoteric questions for which no one else
+is likely to know the answer. In addition, see the wiki for [links to other
+organizations](https://wiki.tcl-lang.org/training) that offer Tcl/Tk training.
+
+## <a id="watch">9.</a> Tracking Development
+Tcl is developed in public. You can keep an eye on how Tcl is changing at
+[core.tcl-lang.org](https://core.tcl-lang.org/).
+
+## <a id="thanks">10.</a> Thank You
+We'd like to express our thanks to the Tcl community for all the
+helpful suggestions, bug reports, and patches we have received.
+Tcl/Tk has improved vastly and will continue to do so with your help.
diff --git a/doc/IntObj.3 b/doc/IntObj.3
index 6d5ee69..e793303 100644
--- a/doc/IntObj.3
+++ b/doc/IntObj.3
@@ -8,7 +8,7 @@
.so man.macros
.BS
.SH NAME
-Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_SetIntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, Tcl_GetIntFromObj, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_NewBignumObj, Tcl_SetBignumObj, Tcl_GetBignumFromObj, Tcl_TakeBignumFromObj \- manipulate Tcl values as integers
+Tcl_NewIntObj, Tcl_NewLongObj, Tcl_NewWideIntObj, Tcl_SetIntObj, Tcl_SetLongObj, Tcl_SetWideIntObj, Tcl_GetIntFromObj, Tcl_GetIntForIndex, Tcl_GetLongFromObj, Tcl_GetWideIntFromObj, Tcl_NewBignumObj, Tcl_SetBignumObj, Tcl_GetBignumFromObj, Tcl_TakeBignumFromObj \- manipulate Tcl values as integers
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -32,6 +32,9 @@ int
\fBTcl_GetIntFromObj\fR(\fIinterp, objPtr, intPtr\fR)
.sp
int
+\fBTcl_GetIntForIndex\fR(\fIinterp, objPtr, endValue, intPtr\fR)
+.sp
+int
\fBTcl_GetLongFromObj\fR(\fIinterp, objPtr, longPtr\fR)
.sp
int
@@ -55,6 +58,8 @@ int
\fBTcl_InitBignumFromDouble\fR(\fIinterp, doubleValue, bigValue\fR)
.SH ARGUMENTS
.AS Tcl_WideInt doubleValue in/out
+.AP int endValue in
+\fBTcl_GetIntForIndex\fR will return this when the input value is "end".
.AP int intValue in
Integer value used to initialize or set a Tcl value.
.AP long longValue in
@@ -115,6 +120,16 @@ violates Tcl's copy-on-write policy. Any existing string representation
or internal representation in the unshared Tcl value will be freed
as a consequence of setting the new value.
.PP
+The \fBTcl_GetIntForIndex\fR routine attempts to retrieve an index
+value from the Tcl value \fIobjPtr\fR. If the attempt succeeds,
+then \fBTCL_OK\fR is returned, and the value is written to the
+storage provided by the caller. The attempt might fail if
+\fIobjPtr\fR does not hold an index value. If the attempt fails,
+then \fBTCL_ERROR\fR is returned, and if \fIinterp\fR is non-NULL,
+an error message is left in \fIinterp\fR. The \fBTcl_ObjType\fR
+of \fIobjPtr\fR may be changed to make subsequent calls to the
+same routine more efficient.
+.PP
The \fBTcl_GetIntFromObj\fR, \fBTcl_GetLongFromObj\fR,
\fBTcl_GetWideIntFromObj\fR, \fBTcl_GetBignumFromObj\fR, and
\fBTcl_TakeBignumFromObj\fR routines attempt to retrieve an integral
diff --git a/doc/coroutine.n b/doc/coroutine.n
index 52775ef..3c1cf6c 100644
--- a/doc/coroutine.n
+++ b/doc/coroutine.n
@@ -14,10 +14,13 @@ coroutine, yield, yieldto \- Create and produce values from coroutines
.nf
\fBcoroutine \fIname command\fR ?\fIarg...\fR?
\fByield\fR ?\fIvalue\fR?
-.VS TIP396
\fByieldto\fR \fIcommand\fR ?\fIarg...\fR?
\fIname\fR ?\fIvalue...\fR?
-.VE TIP396
+.sp
+.VS "8.7, TIP383"
+\fBcoroinject \fIcoroName command\fR ?\fIarg...\fR?
+\fBcoroprobe \fIcoroName command\fR ?\fIarg...\fR?
+.VE "8.7, TIP383"
.fi
.BE
.SH DESCRIPTION
@@ -39,7 +42,6 @@ the context to be suspended. If the coroutine context never yields and instead
returns conventionally, the result of the \fBcoroutine\fR command will be the
result of the evaluation of the context.
.PP
-.VS TIP396
The coroutine may also suspend its execution by use of the \fByieldto\fR
command, which instead of returning, cedes execution to some command called
\fIcommand\fR (resolved in the context of the coroutine) and to which \fIany
@@ -58,11 +60,10 @@ with multiple arguments is by using \fByieldto\fR and the \fBreturn\fR
command, like this:
.PP
.CS
-proc yieldm {value} {
- \fByieldto\fR return -level 0 $value
+proc yieldMultiple {value} {
+ tailcall \fByieldto\fR string cat $value
}
.CE
-.VE TIP396
.PP
The coroutine can also be deleted by destroying the command \fIname\fR, and
the name of the current coroutine can be retrieved by using
@@ -75,6 +76,51 @@ At the point when \fIcommand\fR is called, the current namespace will be the
global namespace and there will be no stack frames above it (in the sense of
\fBupvar\fR and \fBuplevel\fR). However, which command to call will be
determined in the namespace that the \fBcoroutine\fR command was called from.
+.PP
+.VS "8.7, TIP383"
+A suspended coroutine (i.e., one that has \fByield\fRed or \fByieldto\fR-d)
+may have its state inspected (or modified) at that point by using
+\fBcoroprobe\fR to run a command at the point where the coroutine is at. The
+command takes the name of the coroutine to run the command in, \fIcoroName\fR,
+and the name of a command (any any arguments it requires) to immediately run
+at that point. The result of that command is the result of the \fBcoroprobe\fR
+command, and the gross state of the coroutine remains the same afterwards
+(i.e., the coroutine is still expecting the results of a \fByield\fR or
+\fByieldto\fR as before) though variables may have been changed.
+.PP
+Similarly, the \fBcoroinject\fR command may be used to place a command to be
+run inside a suspended coroutine (when it is resumed) to process arguments,
+with quite a bit of similarity to \fBcoroprobe\fR. However, with
+\fBcoroinject\fR there are several key differences:
+.VE "8.7, TIP383"
+.IP \(bu
+.VS "8.7, TIP383"
+The coroutine is not immediately resumed after the injection has been done. A
+consequence of this is that multiple injections may be done before the
+coroutine is resumed. There injected commands are performed in \fIreverse
+order of definition\fR (that is, they are internally stored on a stack).
+.VE "8.7, TIP383"
+.IP \(bu
+.VS "8.7, TIP383"
+An additional two arguments are appended to the list of arguments to be run
+(that is, the \fIcommand\fR and its \fIargs\fR are extended by two elements).
+The first is the name of the command that suspended the coroutine (\fByield\fR
+or \fByieldto\fR), and the second is the argument (or list of arguments, in
+the case of \fByieldto\fR) that is the current resumption value.
+.VE "8.7, TIP383"
+.IP \(bu
+.VS "8.7, TIP383"
+The result of the injected command is used as the result of the \fByield\fR or
+\fByieldto\fR that caused the coroutine to become suspended. Where there are
+multiple injected commands, the result of one becomes the resumption value
+processed by the next.
+.PP
+The injection is a one-off. It is not retained once it has been executed. It
+may \fByield\fR or \fByieldto\fR as part of its execution.
+.PP
+Note that running coroutines may be neither probed nor injected; the
+operations may only be applied to
+.VE "8.7, TIP383"
.SH EXAMPLES
.PP
This example shows a coroutine that will produce an infinite sequence of
@@ -138,7 +184,6 @@ for {set i 1} {$i <= 20} {incr i} {
}
.CE
.PP
-.VS TIP396
This example shows how a value can be passed around a group of three
coroutines that yield to each other:
.PP
@@ -150,14 +195,57 @@ proc juggler {name target {value ""}} {
while {$value ne ""} {
puts "$name : $value"
set value [string range $value 0 end-1]
- lassign [\fByieldto\fR $target $value] value
+ lassign [\fByieldto\fR \fI$target\fR $value] value
}
}
\fBcoroutine\fR j1 juggler Larry [
\fBcoroutine\fR j2 juggler Curly [
\fBcoroutine\fR j3 juggler Moe j1]] "Nyuck!Nyuck!Nyuck!"
.CE
-.VE TIP396
+.PP
+.VS "8.7, TIP383"
+This example shows a simple coroutine that collects non-empty values and
+returns a list of them when not given an argument. It also shows how we can
+look inside the coroutine to find out what it is doing, and how we can modify
+the input on a one-off basis.
+.PP
+.CS
+proc collectorImpl {} {
+ set me [info coroutine]
+ set accumulator {}
+ for {set val [\fByield\fR $me]} {$val ne ""} {set val [\fByield\fR]} {
+ lappend accumulator $val
+ }
+ return $accumulator
+}
+
+\fBcoroutine\fR collect collectorImpl
+\fIcollect\fR 123
+\fIcollect\fR "abc def"
+\fIcollect\fR 456
+
+puts [\fBcoroprobe \fIcollect\fR set accumulator]
+# ==> 123 {abc def} 456
+
+\fIcollect\fR "pqr"
+
+\fBcoroinject \fIcollect\fR apply {{type value} {
+ puts "Received '$value' at a $type in [info coroutine]"
+ return [string toupper $value]
+}}
+
+\fIcollect\fR rst
+# ==> Received 'rst' at a yield in ::collect
+\fIcollect\fR xyz
+
+puts [\fIcollect\fR]
+# ==> 123 {abc def} 456 pqr RST xyz
+.CE
+.PP
+This example shows a simple coroutine that collects non-empty values and
+returns a list of them when not given an argument. It also shows how we can
+look inside the coroutine to find out what it is doing.
+.VE "8.7, TIP383"
.SS "DETAILED SEMANTICS"
.PP
This example demonstrates that coroutines start from the global namespace, and
diff --git a/doc/file.n b/doc/file.n
index ad35dd5..6f97f0b 100644
--- a/doc/file.n
+++ b/doc/file.n
@@ -433,6 +433,36 @@ If \fIname\fR contains no separators then returns \fIname\fR. So,
\fBfile tail a/b\fR, \fBfile tail a/b/\fR and \fBfile tail b\fR all
return \fBb\fR.
.TP
+\fBfile tempdir\fR ?\fItemplate\fR?
+.VS "8.7, TIP 431"
+Creates a temporary directory (guaranteed to be newly created and writable by
+the current script) and returns its name. If \fItemplate\fR is given, it
+specifies one of or both of the existing directory (on a filesystem controlled
+by the operating system) to contain the temporary directory, and the base part
+of the directory name; it is considered to have the location of the directory
+if there is a directory separator in the name, and the base part is everything
+after the last directory separator (if non-empty). The default containing
+directory is determined by system-specific operations, and the default base
+name prefix is
+.QW \fBtcl\fR .
+.RS
+.PP
+The following output is typical and illustrative; the actual output will vary
+between platforms:
+.PP
+.CS
+% \fBfile tempdir\fR
+/var/tmp/tcl_u0kuy5
+ % \fBfile tempdir\fR /tmp/myapp
+/tmp/myapp_8o7r9L
+% \fBfile tempdir\fR /tmp/
+/tmp/tcl_1mOJHD
+% \fBfile tempdir\fR myapp
+/var/tmp/myapp_0ihS0n
+.CE
+.RE
+.VE "8.7, TIP 431"
+.TP
\fBfile tempfile\fR ?\fInameVar\fR? ?\fItemplate\fR?
'\" TIP #210
.VS 8.6
diff --git a/doc/timerate.n b/doc/timerate.n
index 636d9de..c5fdf30 100644
--- a/doc/timerate.n
+++ b/doc/timerate.n
@@ -41,7 +41,7 @@ iterations is reached or the time is exceeded.
It will then return a canonical tcl-list of the form:
.PP
.CS
-\fB0.095977 \(mcs/# 52095836 # 10419167 #/sec 5000.000 nett-ms\fR
+\fB0.095977 \(mcs/# 52095836 # 10419167 #/sec 5000.000 net-ms\fR
.CE
.PP
which indicates:
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 38c5206..6ca9de7 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -2384,7 +2384,10 @@ declare 644 {
int Tcl_LinkArray(Tcl_Interp *interp, const char *varName, void *addr,
int type, int size)
}
-
+declare 645 {
+ int Tcl_GetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr,
+ int endValue, int *indexPtr)
+}
# TIP #542
declare 646 {
int Tcl_UtfToUniChar(const char *src, int *chPtr)
diff --git a/generic/tcl.h b/generic/tcl.h
index d689011..1a28125 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -2325,6 +2325,7 @@ typedef int (Tcl_ArgvGenFuncProc)(ClientData clientData, Tcl_Interp *interp,
#define TCL_IO_FAILURE (-1)
#define TCL_AUTO_LENGTH (-1)
+#define TCL_INDEX_NONE (-1)
/*
*----------------------------------------------------------------------------
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 87533ac..d7eaf80 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -171,9 +171,13 @@ static Tcl_NRPostProc TEOV_RunLeaveTraces;
static Tcl_NRPostProc EvalObjvCore;
static Tcl_NRPostProc Dispatch;
-static Tcl_ObjCmdProc NRCoroInjectObjCmd;
+static Tcl_ObjCmdProc NRInjectObjCmd;
static Tcl_NRPostProc NRPostInvoke;
static Tcl_ObjCmdProc CoroTypeObjCmd;
+static Tcl_ObjCmdProc TclNRCoroInjectObjCmd;
+static Tcl_ObjCmdProc TclNRCoroProbeObjCmd;
+static Tcl_NRPostProc InjectHandler;
+static Tcl_NRPostProc InjectHandlerPostCall;
MODULE_SCOPE const TclStubs tclStubs;
@@ -243,6 +247,8 @@ static const CmdInfo builtInCmds[] = {
{"catch", Tcl_CatchObjCmd, TclCompileCatchCmd, TclNRCatchObjCmd, CMD_IS_SAFE},
{"concat", Tcl_ConcatObjCmd, TclCompileConcatCmd, NULL, CMD_IS_SAFE},
{"continue", Tcl_ContinueObjCmd, TclCompileContinueCmd, NULL, CMD_IS_SAFE},
+ {"coroinject", NULL, NULL, TclNRCoroInjectObjCmd, CMD_IS_SAFE},
+ {"coroprobe", NULL, NULL, TclNRCoroProbeObjCmd, CMD_IS_SAFE},
{"coroutine", NULL, NULL, TclNRCoroutineObjCmd, CMD_IS_SAFE},
{"error", Tcl_ErrorObjCmd, TclCompileErrorCmd, NULL, CMD_IS_SAFE},
{"eval", Tcl_EvalObjCmd, NULL, TclNREvalObjCmd, CMD_IS_SAFE},
@@ -366,6 +372,7 @@ static const UnsafeEnsembleInfo unsafeEnsembleCommands[] = {
{"file", "size"},
{"file", "stat"},
{"file", "tail"},
+ {"file", "tempdir"},
{"file", "tempfile"},
{"file", "type"},
{"file", "volumes"},
@@ -976,7 +983,7 @@ Tcl_CreateInterp(void)
/* Coroutine monkeybusiness */
Tcl_NRCreateCommand(interp, "::tcl::unsupported::inject", NULL,
- NRCoroInjectObjCmd, NULL, NULL);
+ NRInjectObjCmd, NULL, NULL);
Tcl_CreateObjCommand(interp, "::tcl::unsupported::corotype",
CoroTypeObjCmd, NULL, NULL);
@@ -9278,27 +9285,47 @@ CoroTypeObjCmd(
/*
*----------------------------------------------------------------------
*
- * NRCoroInjectObjCmd --
+ * TclNRCoroInjectObjCmd, TclNRCoroProbeObjCmd --
*
- * Implementation of [::tcl::unsupported::inject] command.
+ * Implementation of [coroinject] and [coroprobe] commands.
*
*----------------------------------------------------------------------
*/
+static inline CoroutineData *
+GetCoroutineFromObj(
+ Tcl_Interp *interp,
+ Tcl_Obj *objPtr,
+ const char *errMsg)
+{
+ /*
+ * How to get a coroutine from its handle.
+ */
+
+ Command *cmdPtr = (Command *) Tcl_GetCommandFromObj(interp, objPtr);
+
+ if ((!cmdPtr) || (cmdPtr->nreProc != TclNRInterpCoroutine)) {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(errMsg, -1));
+ Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "COROUTINE",
+ TclGetString(objPtr), NULL);
+ return NULL;
+ }
+ return cmdPtr->objClientData;
+}
+
static int
-NRCoroInjectObjCmd(
+TclNRCoroInjectObjCmd(
ClientData clientData,
Tcl_Interp *interp,
int objc,
Tcl_Obj *const objv[])
{
- Command *cmdPtr;
CoroutineData *corPtr;
ExecEnv *savedEEPtr = iPtr->execEnvPtr;
/*
* Usage more or less like tailcall:
- * inject coroName cmd ?arg1 arg2 ...?
+ * coroinject coroName cmd ?arg1 arg2 ...?
*/
if (objc < 3) {
@@ -9306,16 +9333,249 @@ NRCoroInjectObjCmd(
return TCL_ERROR;
}
- cmdPtr = (Command *) Tcl_GetCommandFromObj(interp, objv[1]);
- if ((!cmdPtr) || (cmdPtr->nreProc != TclNRInterpCoroutine)) {
+ corPtr = GetCoroutineFromObj(interp, objv[1],
+ "can only inject a command into a coroutine");
+ if (!corPtr) {
+ return TCL_ERROR;
+ }
+ if (!COR_IS_SUSPENDED(corPtr)) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
- "can only inject a command into a coroutine", -1));
- Tcl_SetErrorCode(interp, "TCL", "LOOKUP", "COROUTINE",
- TclGetString(objv[1]), NULL);
+ "can only inject a command into a suspended coroutine", -1));
+ Tcl_SetErrorCode(interp, "TCL", "COROUTINE", "ACTIVE", NULL);
return TCL_ERROR;
}
- corPtr = cmdPtr->objClientData;
+ /*
+ * Add the callback to the coro's execEnv, so that it is the first thing
+ * to happen when the coro is resumed.
+ */
+
+ iPtr->execEnvPtr = corPtr->eePtr;
+ TclNRAddCallback(interp, InjectHandler, corPtr,
+ Tcl_NewListObj(objc - 2, objv + 2), INT2PTR(corPtr->nargs), NULL);
+ iPtr->execEnvPtr = savedEEPtr;
+
+ return TCL_OK;
+}
+
+static int
+TclNRCoroProbeObjCmd(
+ ClientData clientData,
+ Tcl_Interp *interp,
+ int objc,
+ Tcl_Obj *const objv[])
+{
+ CoroutineData *corPtr;
+ ExecEnv *savedEEPtr = iPtr->execEnvPtr;
+ int numLevels, unused;
+ int *stackLevel = &unused;
+
+ /*
+ * Usage more or less like tailcall:
+ * coroprobe coroName cmd ?arg1 arg2 ...?
+ */
+
+ if (objc < 3) {
+ Tcl_WrongNumArgs(interp, 1, objv, "coroName cmd ?arg1 arg2 ...?");
+ return TCL_ERROR;
+ }
+
+ corPtr = GetCoroutineFromObj(interp, objv[1],
+ "can only inject a probe command into a coroutine");
+ if (!corPtr) {
+ return TCL_ERROR;
+ }
+ if (!COR_IS_SUSPENDED(corPtr)) {
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(
+ "can only inject a probe command into a suspended coroutine",
+ -1));
+ Tcl_SetErrorCode(interp, "TCL", "COROUTINE", "ACTIVE", NULL);
+ return TCL_ERROR;
+ }
+
+ /*
+ * Add the callback to the coro's execEnv, so that it is the first thing
+ * to happen when the coro is resumed.
+ */
+
+ iPtr->execEnvPtr = corPtr->eePtr;
+ TclNRAddCallback(interp, InjectHandler, corPtr,
+ Tcl_NewListObj(objc - 2, objv + 2), INT2PTR(corPtr->nargs), corPtr);
+ iPtr->execEnvPtr = savedEEPtr;
+
+ /*
+ * Now we immediately transfer control to the coroutine to run our probe.
+ * TRICKY STUFF copied from the [yield] implementation.
+ *
+ * Push the callback to restore the caller's context on yield back.
+ */
+
+ TclNRAddCallback(interp, NRCoroutineCallerCallback, corPtr,
+ NULL, NULL, NULL);
+
+ /*
+ * Record the stackLevel at which the resume is happening, then swap
+ * the interp's environment to make it suitable to run this coroutine.
+ */
+
+ corPtr->stackLevel = stackLevel;
+ numLevels = corPtr->auxNumLevels;
+ corPtr->auxNumLevels = iPtr->numLevels;
+
+ /*
+ * Do the actual stack swap.
+ */
+
+ SAVE_CONTEXT(corPtr->caller);
+ corPtr->callerEEPtr = iPtr->execEnvPtr;
+ RESTORE_CONTEXT(corPtr->running);
+ iPtr->execEnvPtr = corPtr->eePtr;
+ iPtr->numLevels += numLevels;
+ return TCL_OK;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * InjectHandler, InjectHandlerPostProc --
+ *
+ * Part of the implementation of [coroinject] and [coroprobe]. These are
+ * run inside the context of the coroutine being injected/probed into.
+ *
+ * InjectHandler runs a script (possibly adding arguments) in the context
+ * of the coroutine. The script is specified as a one-shot list (with
+ * reference count equal to 1) in data[1]. This function also arranges
+ * for InjectHandlerPostProc to be the part that runs after the script
+ * completes.
+ *
+ * InjectHandlerPostProc cleans up after InjectHandler (deleting the
+ * list) and, for the [coroprobe] command *only*, yields back to the
+ * caller context (i.e., where [coroprobe] was run).
+ *s
+ *----------------------------------------------------------------------
+ */
+
+static int
+InjectHandler(
+ ClientData data[],
+ Tcl_Interp *interp,
+ int result)
+{
+ CoroutineData *corPtr = data[0];
+ Tcl_Obj *listPtr = data[1];
+ int nargs = PTR2INT(data[2]);
+ ClientData isProbe = data[3];
+ int objc;
+ Tcl_Obj **objv;
+
+ if (!isProbe) {
+ /*
+ * If this is [coroinject], add the extra arguments now.
+ */
+
+ if (nargs == COROUTINE_ARGUMENTS_SINGLE_OPTIONAL) {
+ Tcl_ListObjAppendElement(NULL, listPtr,
+ Tcl_NewStringObj("yield", -1));
+ } else if (nargs == COROUTINE_ARGUMENTS_ARBITRARY) {
+ Tcl_ListObjAppendElement(NULL, listPtr,
+ Tcl_NewStringObj("yieldto", -1));
+ } else {
+ /*
+ * I don't think this is reachable...
+ */
+
+ Tcl_ListObjAppendElement(NULL, listPtr, Tcl_NewIntObj(nargs));
+ }
+ Tcl_ListObjAppendElement(NULL, listPtr, Tcl_GetObjResult(interp));
+ }
+
+ /*
+ * Call the user's script; we're in the right place.
+ */
+
+ Tcl_IncrRefCount(listPtr);
+ TclMarkTailcall(interp);
+ TclNRAddCallback(interp, InjectHandlerPostCall, corPtr, listPtr,
+ INT2PTR(nargs), isProbe);
+ TclListObjGetElements(NULL, listPtr, &objc, &objv);
+ return TclNREvalObjv(interp, objc, objv, 0, NULL);
+}
+
+static int
+InjectHandlerPostCall(
+ ClientData data[],
+ Tcl_Interp *interp,
+ int result)
+{
+ CoroutineData *corPtr = data[0];
+ Tcl_Obj *listPtr = data[1];
+ int nargs = PTR2INT(data[2]);
+ ClientData isProbe = data[3];
+ int numLevels;
+
+ /*
+ * Delete the command words for what we just executed.
+ */
+
+ Tcl_DecrRefCount(listPtr);
+
+ /*
+ * If we were doing a probe, splice ourselves back out of the stack
+ * cleanly here. General injection should instead just look after itself.
+ *
+ * Code from guts of [yield] implementation.
+ */
+
+ if (isProbe) {
+ if (result == TCL_ERROR) {
+ Tcl_AddErrorInfo(interp,
+ "\n (injected coroutine probe command)");
+ }
+ corPtr->nargs = nargs;
+ corPtr->stackLevel = NULL;
+ numLevels = iPtr->numLevels;
+ iPtr->numLevels = corPtr->auxNumLevels;
+ corPtr->auxNumLevels = numLevels - corPtr->auxNumLevels;
+ iPtr->execEnvPtr = corPtr->callerEEPtr;
+ }
+ return result;
+}
+
+/*
+ *----------------------------------------------------------------------
+ *
+ * NRInjectObjCmd --
+ *
+ * Implementation of [::tcl::unsupported::inject] command.
+ *
+ *----------------------------------------------------------------------
+ */
+
+static int
+NRInjectObjCmd(
+ ClientData clientData,
+ Tcl_Interp *interp,
+ int objc,
+ Tcl_Obj *const objv[])
+{
+ CoroutineData *corPtr;
+ ExecEnv *savedEEPtr = iPtr->execEnvPtr;
+
+ /*
+ * Usage more or less like tailcall:
+ * inject coroName cmd ?arg1 arg2 ...?
+ */
+
+ if (objc < 3) {
+ Tcl_WrongNumArgs(interp, 1, objv, "coroName cmd ?arg1 arg2 ...?");
+ return TCL_ERROR;
+ }
+
+ corPtr = GetCoroutineFromObj(interp, objv[1],
+ "can only inject a command into a coroutine");
+ if (!corPtr) {
+ return TCL_ERROR;
+ }
if (!COR_IS_SUSPENDED(corPtr)) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"can only inject a command into a suspended coroutine", -1));
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c
index 1811c5c..dd98ef3 100644
--- a/generic/tclCmdAH.c
+++ b/generic/tclCmdAH.c
@@ -1093,6 +1093,7 @@ TclInitFileCmd(
{"stat", FileAttrStatCmd, TclCompileBasic2ArgCmd, NULL, NULL, 1},
{"system", PathFilesystemCmd, TclCompileBasic0Or1ArgCmd, NULL, NULL, 0},
{"tail", PathTailCmd, TclCompileBasic1ArgCmd, NULL, NULL, 1},
+ {"tempdir", TclFileTempDirCmd, TclCompileBasic0Or1ArgCmd, NULL, NULL, 1},
{"tempfile", TclFileTemporaryCmd, TclCompileBasic0To2ArgCmd, NULL, NULL, 1},
{"type", FileAttrTypeCmd, TclCompileBasic1ArgCmd, NULL, NULL, 1},
{"volumes", FilesystemVolumesCmd, TclCompileBasic0ArgCmd, NULL, NULL, 1},
diff --git a/generic/tclCmdMZ.c b/generic/tclCmdMZ.c
index 0a42a9a..1bb4671 100644
--- a/generic/tclCmdMZ.c
+++ b/generic/tclCmdMZ.c
@@ -4373,7 +4373,7 @@ Tcl_TimeRateObjCmd(
}
codePtr = TclCompileObj(interp, objPtr, NULL, 0);
TclPreserveByteCode(codePtr);
- /*
+ /*
* Replace last compiled done instruction with continue: it's a part of
* iteration, this way evaluation will be more similar to a cycle (also
* avoids extra overhead to set result to interp, etc.)
@@ -4549,7 +4549,7 @@ Tcl_TimeRateObjCmd(
Tcl_WideUInt usec, val;
int digits;
- /*
+ /*
* Absolute execution time in microseconds or in wide clicks.
*/
usec = (Tcl_WideUInt)(middle - start);
@@ -4659,7 +4659,7 @@ Tcl_TimeRateObjCmd(
} else {
objs[6] = Tcl_NewWideIntObj(0);
}
- TclNewLiteralStringObj(objs[7], "nett-ms");
+ TclNewLiteralStringObj(objs[7], "net-ms");
}
/*
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 05398d4..9e7f928 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -1906,7 +1906,9 @@ EXTERN int Tcl_IsShared(Tcl_Obj *objPtr);
EXTERN int Tcl_LinkArray(Tcl_Interp *interp,
const char *varName, void *addr, int type,
int size);
-/* Slot 645 is reserved */
+/* 645 */
+EXTERN int Tcl_GetIntForIndex(Tcl_Interp *interp,
+ Tcl_Obj *objPtr, int endValue, int *indexPtr);
/* 646 */
EXTERN int Tcl_UtfToUniChar(const char *src, int *chPtr);
/* 647 */
@@ -2605,7 +2607,7 @@ typedef struct TclStubs {
void (*tcl_DecrRefCount) (Tcl_Obj *objPtr); /* 642 */
int (*tcl_IsShared) (Tcl_Obj *objPtr); /* 643 */
int (*tcl_LinkArray) (Tcl_Interp *interp, const char *varName, void *addr, int type, int size); /* 644 */
- void (*reserved645)(void);
+ int (*tcl_GetIntForIndex) (Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr); /* 645 */
int (*tcl_UtfToUniChar) (const char *src, int *chPtr); /* 646 */
char * (*tcl_UniCharToUtfDString) (const int *uniStr, int uniLength, Tcl_DString *dsPtr); /* 647 */
int * (*tcl_UtfToUniCharDString) (const char *src, int length, Tcl_DString *dsPtr); /* 648 */
@@ -3933,7 +3935,8 @@ extern const TclStubs *tclStubsPtr;
(tclStubsPtr->tcl_IsShared) /* 643 */
#define Tcl_LinkArray \
(tclStubsPtr->tcl_LinkArray) /* 644 */
-/* Slot 645 is reserved */
+#define Tcl_GetIntForIndex \
+ (tclStubsPtr->tcl_GetIntForIndex) /* 645 */
#define Tcl_UtfToUniChar \
(tclStubsPtr->tcl_UtfToUniChar) /* 646 */
#define Tcl_UniCharToUtfDString \
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index c31ab79..cef2124 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -8191,7 +8191,7 @@ ExecuteExtendedBinaryMathOp(
if (opcode == INST_LSHIFT) {
mp_mul_2d(&big1, shift, &bigResult);
} else {
- mp_tc_div_2d(&big1, shift, &bigResult);
+ mp_signed_rsh(&big1, shift, &bigResult);
}
mp_clear(&big1);
BIG_RESULT(&bigResult);
@@ -8208,15 +8208,15 @@ ExecuteExtendedBinaryMathOp(
switch (opcode) {
case INST_BITAND:
- mp_tc_and(&big1, &big2, &bigResult);
+ mp_and(&big1, &big2, &bigResult);
break;
case INST_BITOR:
- mp_tc_or(&big1, &big2, &bigResult);
+ mp_or(&big1, &big2, &bigResult);
break;
case INST_BITXOR:
- mp_tc_xor(&big1, &big2, &bigResult);
+ mp_xor(&big1, &big2, &bigResult);
break;
}
diff --git a/generic/tclFCmd.c b/generic/tclFCmd.c
index a4dded2..8ef0456 100644
--- a/generic/tclFCmd.c
+++ b/generic/tclFCmd.c
@@ -1345,7 +1345,7 @@ TclFileReadLinkCmd(
/*
*---------------------------------------------------------------------------
*
- * TclFileTemporaryCmd
+ * TclFileTemporaryCmd --
*
* This function implements the "tempfile" subcommand of the "file"
* command.
@@ -1505,6 +1505,151 @@ TclFileTemporaryCmd(
}
/*
+ *---------------------------------------------------------------------------
+ *
+ * TclFileTempDirCmd --
+ *
+ * This function implements the "tempdir" subcommand of the "file"
+ * command.
+ *
+ * Results:
+ * Returns a standard Tcl result.
+ *
+ * Side effects:
+ * Creates a temporary directory.
+ *
+ *---------------------------------------------------------------------------
+ */
+
+int
+TclFileTempDirCmd(
+ ClientData clientData,
+ Tcl_Interp *interp,
+ int objc,
+ Tcl_Obj *const objv[])
+{
+ Tcl_Obj *dirNameObj; /* Object that will contain the directory
+ * name. */
+ Tcl_Obj *baseDirObj = NULL, *nameBaseObj = NULL;
+ /* Pieces of template. Each piece is NULL if
+ * it is omitted. The platform temporary file
+ * engine might ignore some pieces. */
+
+ if (objc < 1 || objc > 2) {
+ Tcl_WrongNumArgs(interp, 1, objv, "?template?");
+ return TCL_ERROR;
+ }
+
+ if (objc > 1) {
+ int length;
+ Tcl_Obj *templateObj = objv[1];
+ const char *string = TclGetStringFromObj(templateObj, &length);
+ const int onWindows = (tclPlatform == TCL_PLATFORM_WINDOWS);
+
+ /*
+ * Treat an empty string as if it wasn't there.
+ */
+
+ if (length == 0) {
+ goto makeTemporary;
+ }
+
+ /*
+ * The template only gives a directory if there is a directory
+ * separator in it, and only gives a base name if there's at least one
+ * character after the last directory separator.
+ */
+
+ if (strchr(string, '/') == NULL
+ && (!onWindows || strchr(string, '\\') == NULL)) {
+ /*
+ * No directory separator, so just assume we have a file name.
+ * This is a bit wrong on Windows where we could have problems
+ * with disk name prefixes... but those are much less common in
+ * naked form so we just pass through and let the OS figure it out
+ * instead.
+ */
+
+ nameBaseObj = templateObj;
+ Tcl_IncrRefCount(nameBaseObj);
+ } else if (string[length-1] != '/'
+ && (!onWindows || string[length-1] != '\\')) {
+ /*
+ * If the template has a non-terminal directory separator, split
+ * into dirname and tail.
+ */
+
+ baseDirObj = TclPathPart(interp, templateObj, TCL_PATH_DIRNAME);
+ nameBaseObj = TclPathPart(interp, templateObj, TCL_PATH_TAIL);
+ } else {
+ /*
+ * Otherwise, there must be a terminal directory separator, so
+ * just the directory is given.
+ */
+
+ baseDirObj = templateObj;
+ Tcl_IncrRefCount(baseDirObj);
+ }
+
+ /*
+ * Only allow creation of temporary directories in the native
+ * filesystem since they are frequently used for integration with
+ * external tools or system libraries.
+ */
+
+ if (baseDirObj != NULL && Tcl_FSGetFileSystemForPath(baseDirObj)
+ != &tclNativeFilesystem) {
+ TclDecrRefCount(baseDirObj);
+ baseDirObj = NULL;
+ }
+ }
+
+ /*
+ * Convert empty parts of the template into unspecified parts.
+ */
+
+ if (baseDirObj && !TclGetString(baseDirObj)[0]) {
+ TclDecrRefCount(baseDirObj);
+ baseDirObj = NULL;
+ }
+ if (nameBaseObj && !TclGetString(nameBaseObj)[0]) {
+ TclDecrRefCount(nameBaseObj);
+ nameBaseObj = NULL;
+ }
+
+ /*
+ * Create and open the temporary file.
+ */
+
+ makeTemporary:
+ dirNameObj = TclpCreateTemporaryDirectory(baseDirObj, nameBaseObj);
+
+ /*
+ * If we created pieces of template, get rid of them now.
+ */
+
+ if (baseDirObj) {
+ TclDecrRefCount(baseDirObj);
+ }
+ if (nameBaseObj) {
+ TclDecrRefCount(nameBaseObj);
+ }
+
+ /*
+ * Deal with results.
+ */
+
+ if (dirNameObj == NULL) {
+ Tcl_SetObjResult(interp, Tcl_ObjPrintf(
+ "can't create temporary directory: %s",
+ Tcl_PosixError(interp)));
+ return TCL_ERROR;
+ }
+ Tcl_SetObjResult(interp, dirNameObj);
+ return TCL_OK;
+}
+
+/*
* Local Variables:
* mode: c
* c-basic-offset: 4
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
index 106b4e9..556da28 100644
--- a/generic/tclInt.decls
+++ b/generic/tclInt.decls
@@ -151,7 +151,7 @@ declare 32 {
#declare 33 {
# TclCmdProcType TclGetInterpProc(void)
#}
-declare 34 {
+declare 34 {deprecated {Use Tcl_GetIntForIndex}} {
int TclGetIntForIndex(Tcl_Interp *interp, Tcl_Obj *objPtr,
int endValue, int *indexPtr)
}
@@ -1028,6 +1028,12 @@ declare 257 {
void TclStaticPackage(Tcl_Interp *interp, const char *pkgName,
Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc)
}
+
+# TIP 431: temporary directory creation function
+declare 258 {
+ Tcl_Obj *TclpCreateTemporaryDirectory(Tcl_Obj *dirObj,
+ Tcl_Obj *basenameObj)
+}
##############################################################################
diff --git a/generic/tclInt.h b/generic/tclInt.h
index b6db913..bc5612a 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -2477,7 +2477,7 @@ typedef struct List {
/*
* Macros providing a faster path to booleans and integers:
* Tcl_GetBooleanFromObj, Tcl_GetLongFromObj, Tcl_GetIntFromObj
- * and TclGetIntForIndex.
+ * and Tcl_GetIntForIndex.
*
* WARNING: these macros eval their args more than once.
*/
@@ -2514,7 +2514,7 @@ typedef struct List {
&& (objPtr)->internalRep.wideValue <= (Tcl_WideInt)(INT_MAX)) \
? ((*(idxPtr) = ((objPtr)->internalRep.wideValue >= 0) \
? (int)(objPtr)->internalRep.wideValue : -1), TCL_OK) \
- : TclGetIntForIndex((interp), (objPtr), (endValue), (idxPtr)))
+ : Tcl_GetIntForIndex((interp), (objPtr), (endValue), (idxPtr)))
/*
* Macro used to save a function call for common uses of
@@ -2967,6 +2967,7 @@ MODULE_SCOPE Tcl_ObjCmdProc TclFileLinkCmd;
MODULE_SCOPE Tcl_ObjCmdProc TclFileMakeDirsCmd;
MODULE_SCOPE Tcl_ObjCmdProc TclFileReadLinkCmd;
MODULE_SCOPE Tcl_ObjCmdProc TclFileRenameCmd;
+MODULE_SCOPE Tcl_ObjCmdProc TclFileTempDirCmd;
MODULE_SCOPE Tcl_ObjCmdProc TclFileTemporaryCmd;
MODULE_SCOPE void TclCreateLateExitHandler(Tcl_ExitProc *proc,
ClientData clientData);
@@ -4192,7 +4193,6 @@ MODULE_SCOPE int TclIndexDecode(int encoded, int endValue);
/* Constants used in index value encoding routines. */
#define TCL_INDEX_END (-2)
-#define TCL_INDEX_NONE (-1) /* Index out of range or END+1 */
#define TCL_INDEX_START (0)
/*
diff --git a/generic/tclIntDecls.h b/generic/tclIntDecls.h
index eddbcb3..16bcdf8 100644
--- a/generic/tclIntDecls.h
+++ b/generic/tclIntDecls.h
@@ -28,6 +28,7 @@
#endif
#if !defined(TCL_NO_DEPRECATED) && (TCL_MAJOR_VERSION < 9)
+# define tclGetIntForIndex tcl_GetIntForIndex
/* Those macro's are especially for Itcl 3.4 compatibility */
# define tclCreateNamespace tcl_CreateNamespace
# define tclDeleteNamespace tcl_DeleteNamespace
@@ -129,7 +130,8 @@ EXTERN int TclGetFrame(Tcl_Interp *interp, const char *str,
CallFrame **framePtrPtr);
/* Slot 33 is reserved */
/* 34 */
-EXTERN int TclGetIntForIndex(Tcl_Interp *interp,
+TCL_DEPRECATED("Use Tcl_GetIntForIndex")
+int TclGetIntForIndex(Tcl_Interp *interp,
Tcl_Obj *objPtr, int endValue, int *indexPtr);
/* Slot 35 is reserved */
/* Slot 36 is reserved */
@@ -653,6 +655,9 @@ EXTERN void TclStaticPackage(Tcl_Interp *interp,
const char *pkgName,
Tcl_PackageInitProc *initProc,
Tcl_PackageInitProc *safeInitProc);
+/* 258 */
+EXTERN Tcl_Obj * TclpCreateTemporaryDirectory(Tcl_Obj *dirObj,
+ Tcl_Obj *basenameObj);
typedef struct TclIntStubs {
int magic;
@@ -692,7 +697,7 @@ typedef struct TclIntStubs {
const char * (*tclGetExtension) (const char *name); /* 31 */
int (*tclGetFrame) (Tcl_Interp *interp, const char *str, CallFrame **framePtrPtr); /* 32 */
void (*reserved33)(void);
- int (*tclGetIntForIndex) (Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr); /* 34 */
+ TCL_DEPRECATED_API("Use Tcl_GetIntForIndex") int (*tclGetIntForIndex) (Tcl_Interp *interp, Tcl_Obj *objPtr, int endValue, int *indexPtr); /* 34 */
void (*reserved35)(void);
void (*reserved36)(void);
int (*tclGetLoadedPackages) (Tcl_Interp *interp, const char *targetName); /* 37 */
@@ -916,6 +921,7 @@ typedef struct TclIntStubs {
int (*tclPtrObjMakeUpvar) (Tcl_Interp *interp, Tcl_Var otherPtr, Tcl_Obj *myNamePtr, int myFlags); /* 255 */
int (*tclPtrUnsetVar) (Tcl_Interp *interp, Tcl_Var varPtr, Tcl_Var arrayPtr, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, const int flags); /* 256 */
void (*tclStaticPackage) (Tcl_Interp *interp, const char *pkgName, Tcl_PackageInitProc *initProc, Tcl_PackageInitProc *safeInitProc); /* 257 */
+ Tcl_Obj * (*tclpCreateTemporaryDirectory) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj); /* 258 */
} TclIntStubs;
extern const TclIntStubs *tclIntStubsPtr;
@@ -1359,6 +1365,8 @@ extern const TclIntStubs *tclIntStubsPtr;
(tclIntStubsPtr->tclPtrUnsetVar) /* 256 */
#define TclStaticPackage \
(tclIntStubsPtr->tclStaticPackage) /* 257 */
+#define TclpCreateTemporaryDirectory \
+ (tclIntStubsPtr->tclpCreateTemporaryDirectory) /* 258 */
#endif /* defined(USE_TCL_STUBS) */
@@ -1375,6 +1383,7 @@ extern const TclIntStubs *tclIntStubsPtr;
# undef TclBackgroundException
# undef TclSetStartupScript
# undef TclGetStartupScript
+# undef TclGetIntForIndex
# undef TclCreateNamespace
# undef TclDeleteNamespace
# undef TclAppendExportList
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index c9abb1a..b160d9e 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -4577,7 +4577,7 @@ TclBignumToDouble(
*/
mp_div_2d(a, -shift, &b, NULL);
- if (mp_get_bit(&b, 0)) {
+ if (mp_isodd(&b)) {
if (b.sign == MP_ZPOS) {
mp_add_d(&b, 1, &b);
} else {
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 9dded47..23e0e7f 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -94,6 +94,13 @@ static void uniCodePanic() {
# define Tcl_AppendUnicodeToObj (void(*)(Tcl_Obj *, const unsigned short *, int)) uniCodePanic
#endif
+#undef TclBN_mp_tc_and
+#undef TclBN_mp_tc_or
+#undef TclBN_mp_tc_xor
+#define TclBN_mp_tc_and TclBN_mp_and
+#define TclBN_mp_tc_or TclBN_mp_or
+#define TclBN_mp_tc_xor TclBN_mp_xor
+
/* See bug 510001: TclSockMinimumBuffers needs plat imp */
#if defined(_WIN64) || defined(TCL_NO_DEPRECATED) || TCL_MAJOR_VERSION > 8
# define TclSockMinimumBuffersOld 0
@@ -431,6 +438,7 @@ static int utf16Ncasecmp(const unsigned short *ucs, const unsigned short *uct, u
# define TclpReaddir 0
# define TclSetStartupScript 0
# define TclGetStartupScript 0
+# define TclGetIntForIndex 0
# define TclCreateNamespace 0
# define TclDeleteNamespace 0
# define TclAppendExportList 0
@@ -480,6 +488,7 @@ static int utf16Ncasecmp(const unsigned short *ucs, const unsigned short *uct, u
# define TclBackgroundException Tcl_BackgroundException
# define TclSetStartupScript Tcl_SetStartupScript
# define TclGetStartupScript Tcl_GetStartupScript
+# define TclGetIntForIndex Tcl_GetIntForIndex
# define TclCreateNamespace Tcl_CreateNamespace
# define TclDeleteNamespace Tcl_DeleteNamespace
# define TclAppendExportList Tcl_AppendExportList
@@ -801,6 +810,7 @@ static const TclIntStubs tclIntStubs = {
TclPtrObjMakeUpvar, /* 255 */
TclPtrUnsetVar, /* 256 */
TclStaticPackage, /* 257 */
+ TclpCreateTemporaryDirectory, /* 258 */
};
static const TclIntPlatStubs tclIntPlatStubs = {
@@ -999,7 +1009,7 @@ const TclTomMathStubs tclTomMathStubs = {
TclBN_mp_tc_and, /* 73 */
TclBN_mp_tc_or, /* 74 */
TclBN_mp_tc_xor, /* 75 */
- TclBN_mp_tc_div_2d, /* 76 */
+ TclBN_mp_signed_rsh, /* 76 */
TclBN_mp_get_bit, /* 77 */
};
@@ -1681,7 +1691,7 @@ const TclStubs tclStubs = {
Tcl_DecrRefCount, /* 642 */
Tcl_IsShared, /* 643 */
Tcl_LinkArray, /* 644 */
- 0, /* 645 */
+ Tcl_GetIntForIndex, /* 645 */
Tcl_UtfToUniChar, /* 646 */
Tcl_UniCharToUtfDString, /* 647 */
Tcl_UtfToUniCharDString, /* 648 */
diff --git a/generic/tclTestObj.c b/generic/tclTestObj.c
index 9bab1e9..6ffb7a4 100644
--- a/generic/tclTestObj.c
+++ b/generic/tclTestObj.c
@@ -290,9 +290,9 @@ TestbignumobjCmd(
return TCL_ERROR;
}
if (!Tcl_IsShared(varPtr[varIndex])) {
- Tcl_SetIntObj(varPtr[varIndex], !mp_get_bit(&bignumValue, 0));
+ Tcl_SetIntObj(varPtr[varIndex], !mp_isodd(&bignumValue));
} else {
- SetVarToObj(varPtr, varIndex, Tcl_NewIntObj(!mp_get_bit(&bignumValue, 0)));
+ SetVarToObj(varPtr, varIndex, Tcl_NewIntObj(!mp_isodd(&bignumValue)));
}
mp_clear(&bignumValue);
break;
diff --git a/generic/tclTomMath.decls b/generic/tclTomMath.decls
index 7221dcf..01b6342 100644
--- a/generic/tclTomMath.decls
+++ b/generic/tclTomMath.decls
@@ -265,7 +265,7 @@ declare 75 {
int TclBN_mp_tc_xor(const mp_int *a, const mp_int *b, mp_int *c)
}
declare 76 {
- int TclBN_mp_tc_div_2d(const mp_int *a, int b, mp_int *c)
+ int TclBN_mp_signed_rsh(const mp_int *a, int b, mp_int *c)
}
declare 77 {
int TclBN_mp_get_bit(const mp_int *a, int b)
diff --git a/generic/tclTomMath.h b/generic/tclTomMath.h
index cc9f286..bbcb4bc 100644
--- a/generic/tclTomMath.h
+++ b/generic/tclTomMath.h
@@ -203,12 +203,14 @@ typedef int ltm_prime_callback(unsigned char *dst, int len, void *dat);
/* error code to char* string */
-const char *mp_error_to_string(int code);
+/*
+const char *mp_error_to_string(mp_err code);
+*/
/* ---> init and deinit bignum functions <--- */
/* init a bignum */
/*
-int mp_init(mp_int *a);
+mp_err mp_init(mp_int *a);
*/
/* free a bignum */
@@ -218,7 +220,7 @@ void mp_clear(mp_int *a);
/* init a null terminated series of arguments */
/*
-int mp_init_multi(mp_int *mp, ...);
+mp_err mp_init_multi(mp_int *mp, ...);
*/
/* clear a null terminated series of arguments */
@@ -233,23 +235,23 @@ void mp_exch(mp_int *a, mp_int *b);
/* shrink ram required for a bignum */
/*
-int mp_shrink(mp_int *a);
+mp_err mp_shrink(mp_int *a);
*/
/* grow an int to a given size */
/*
-int mp_grow(mp_int *a, int size);
+mp_err mp_grow(mp_int *a, int size);
*/
/* init to a given number of digits */
/*
-int mp_init_size(mp_int *a, int size);
+mp_err mp_init_size(mp_int *a, int size);
*/
/* ---> Basic Manipulations <--- */
#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO)
-#define mp_iseven(a) (!mp_get_bit((a),0))
-#define mp_isodd(a) mp_get_bit((a),0)
+#define mp_iseven(a) (((a)->used == 0 || (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO)
+#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO)
#define mp_isneg(a) (((a)->sign != MP_ZPOS) ? MP_YES : MP_NO)
/* set to zero */
@@ -410,24 +412,9 @@ int mp_or(const mp_int *a, const mp_int *b, mp_int *c);
int mp_and(const mp_int *a, const mp_int *b, mp_int *c);
*/
-/* c = a XOR b (two complement) */
-/*
-int mp_tc_xor(const mp_int *a, const mp_int *b, mp_int *c);
-*/
-
-/* c = a OR b (two complement) */
-/*
-int mp_tc_or(const mp_int *a, const mp_int *b, mp_int *c);
-*/
-
-/* c = a AND b (two complement) */
-/*
-int mp_tc_and(const mp_int *a, const mp_int *b, mp_int *c);
-*/
-
/* right shift (two complement) */
/*
-int mp_tc_div_2d(const mp_int *a, int b, mp_int *c);
+int mp_signed_rsh(const mp_int *a, int b, mp_int *c);
*/
/* ---> Basic arithmetic <--- */
diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h
index c5ed4d5..52b84ee 100644
--- a/generic/tclTomMathDecls.h
+++ b/generic/tclTomMathDecls.h
@@ -75,6 +75,8 @@
#define mp_get_long TclBN_mp_get_long
#define mp_get_long_long TclBN_mp_get_long_long
#define mp_grow TclBN_mp_grow
+#define s_mp_get_bit TclBN_mp_get_bit
+#define mp_grow TclBN_mp_grow
#define mp_init TclBN_mp_init
#define mp_init_copy TclBN_mp_init_copy
#define mp_init_multi TclBN_mp_init_multi
@@ -106,10 +108,11 @@
#define mp_sqrt TclBN_mp_sqrt
#define mp_sub TclBN_mp_sub
#define mp_sub_d TclBN_mp_sub_d
-#define mp_tc_and TclBN_mp_tc_and
-#define mp_tc_div_2d TclBN_mp_tc_div_2d
-#define mp_tc_or TclBN_mp_tc_or
-#define mp_tc_xor TclBN_mp_tc_xor
+#define mp_signed_rsh TclBN_mp_signed_rsh
+#define mp_tc_and TclBN_mp_and
+#define mp_tc_div_2d TclBN_mp_signed_rsh
+#define mp_tc_or TclBN_mp_or
+#define mp_tc_xor TclBN_mp_xor
#define mp_to_unsigned_bin TclBN_mp_to_unsigned_bin
#define mp_to_unsigned_bin_n TclBN_mp_to_unsigned_bin_n
#define mp_toom_mul TclBN_mp_toom_mul
@@ -351,7 +354,8 @@ EXTERN int TclBN_mp_tc_or(const mp_int *a, const mp_int *b,
EXTERN int TclBN_mp_tc_xor(const mp_int *a, const mp_int *b,
mp_int *c);
/* 76 */
-EXTERN int TclBN_mp_tc_div_2d(const mp_int *a, int b, mp_int *c);
+EXTERN int TclBN_mp_signed_rsh(const mp_int *a, int b,
+ mp_int *c);
/* 77 */
EXTERN int TclBN_mp_get_bit(const mp_int *a, int b);
@@ -435,7 +439,7 @@ typedef struct TclTomMathStubs {
int (*tclBN_mp_tc_and) (const mp_int *a, const mp_int *b, mp_int *c); /* 73 */
int (*tclBN_mp_tc_or) (const mp_int *a, const mp_int *b, mp_int *c); /* 74 */
int (*tclBN_mp_tc_xor) (const mp_int *a, const mp_int *b, mp_int *c); /* 75 */
- int (*tclBN_mp_tc_div_2d) (const mp_int *a, int b, mp_int *c); /* 76 */
+ int (*tclBN_mp_signed_rsh) (const mp_int *a, int b, mp_int *c); /* 76 */
int (*tclBN_mp_get_bit) (const mp_int *a, int b); /* 77 */
} TclTomMathStubs;
@@ -603,8 +607,8 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
(tclTomMathStubsPtr->tclBN_mp_tc_or) /* 74 */
#define TclBN_mp_tc_xor \
(tclTomMathStubsPtr->tclBN_mp_tc_xor) /* 75 */
-#define TclBN_mp_tc_div_2d \
- (tclTomMathStubsPtr->tclBN_mp_tc_div_2d) /* 76 */
+#define TclBN_mp_signed_rsh \
+ (tclTomMathStubsPtr->tclBN_mp_signed_rsh) /* 76 */
#define TclBN_mp_get_bit \
(tclTomMathStubsPtr->tclBN_mp_get_bit) /* 77 */
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 218df5d..ae76ded 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -121,7 +121,7 @@ static int FindElement(Tcl_Interp *interp, const char *string,
/*
* The following is the Tcl object type definition for an object that
* represents a list index in the form, "end-offset". It is used as a
- * performance optimization in TclGetIntForIndex. The internal rep is
+ * performance optimization in Tcl_GetIntForIndex. The internal rep is
* stored directly in the wideValue, so no memory management is required
* for it. This is a caching intrep, keeping the result of a parse
* around. This type is only created from a pre-existing string, so an
@@ -3872,7 +3872,7 @@ GetWideForIndex(
/*
*----------------------------------------------------------------------
*
- * TclGetIntForIndex --
+ * Tcl_GetIntForIndex --
*
* This function returns an integer corresponding to the list index held
* in a Tcl object. The Tcl object's value is expected to be in the
@@ -3894,7 +3894,7 @@ GetWideForIndex(
*/
int
-TclGetIntForIndex(
+Tcl_GetIntForIndex(
Tcl_Interp *interp, /* Interpreter to use for error reporting. If
* NULL, then no error message is left after
* errors. */
diff --git a/libtommath/bn_mp_and.c b/libtommath/bn_mp_and.c
index 789bb58..10fe28b 100644
--- a/libtommath/bn_mp_and.c
+++ b/libtommath/bn_mp_and.c
@@ -1,54 +1,56 @@
#include "tommath_private.h"
#ifdef BN_MP_AND_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* AND two ints together */
-int mp_and(const mp_int *a, const mp_int *b, mp_int *c)
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
+
+/* two complement and */
+mp_err mp_and(const mp_int *a, const mp_int *b, mp_int *c)
{
- int res, ix, px;
- mp_int t;
- const mp_int *x;
+ int used = MAX(a->used, b->used) + 1, i;
+ mp_err err;
+ mp_digit ac = 1, bc = 1, cc = 1;
+ mp_sign csign = ((a->sign == MP_NEG) && (b->sign == MP_NEG)) ? MP_NEG : MP_ZPOS;
- if (a->used > b->used) {
- if ((res = mp_init_copy(&t, a)) != MP_OKAY) {
- return res;
- }
- px = b->used;
- x = b;
- } else {
- if ((res = mp_init_copy(&t, b)) != MP_OKAY) {
- return res;
+ if (c->alloc < used) {
+ if ((err = mp_grow(c, used)) != MP_OKAY) {
+ return err;
}
- px = a->used;
- x = a;
}
- for (ix = 0; ix < px; ix++) {
- t.dp[ix] &= x->dp[ix];
- }
+ for (i = 0; i < used; i++) {
+ mp_digit x, y;
+
+ /* convert to two complement if negative */
+ if (a->sign == MP_NEG) {
+ ac += (i >= a->used) ? MP_MASK : (~a->dp[i] & MP_MASK);
+ x = ac & MP_MASK;
+ ac >>= MP_DIGIT_BIT;
+ } else {
+ x = (i >= a->used) ? 0uL : a->dp[i];
+ }
- /* zero digits above the last from the smallest mp_int */
- for (; ix < t.used; ix++) {
- t.dp[ix] = 0;
+ /* convert to two complement if negative */
+ if (b->sign == MP_NEG) {
+ bc += (i >= b->used) ? MP_MASK : (~b->dp[i] & MP_MASK);
+ y = bc & MP_MASK;
+ bc >>= MP_DIGIT_BIT;
+ } else {
+ y = (i >= b->used) ? 0uL : b->dp[i];
+ }
+
+ c->dp[i] = x & y;
+
+ /* convert to to sign-magnitude if negative */
+ if (csign == MP_NEG) {
+ cc += ~c->dp[i] & MP_MASK;
+ c->dp[i] = cc & MP_MASK;
+ cc >>= MP_DIGIT_BIT;
+ }
}
- mp_clamp(&t);
- mp_exch(c, &t);
- mp_clear(&t);
+ c->used = used;
+ c->sign = csign;
+ mp_clamp(c);
return MP_OKAY;
}
#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_cmp.c b/libtommath/bn_mp_cmp.c
index fdcb8d5..ced4840 100644
--- a/libtommath/bn_mp_cmp.c
+++ b/libtommath/bn_mp_cmp.c
@@ -1,19 +1,10 @@
#include "tommath_private.h"
#ifdef BN_MP_CMP_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
/* compare two ints (signed)*/
-int mp_cmp(const mp_int *a, const mp_int *b)
+mp_ord mp_cmp(const mp_int *a, const mp_int *b)
{
/* compare based on sign */
if (a->sign != b->sign) {
@@ -33,7 +24,3 @@ int mp_cmp(const mp_int *a, const mp_int *b)
}
}
#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_cmp_d.c b/libtommath/bn_mp_cmp_d.c
index 643cac6..5a8337b 100644
--- a/libtommath/bn_mp_cmp_d.c
+++ b/libtommath/bn_mp_cmp_d.c
@@ -1,19 +1,10 @@
#include "tommath_private.h"
#ifdef BN_MP_CMP_D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
/* compare a digit */
-int mp_cmp_d(const mp_int *a, mp_digit b)
+mp_ord mp_cmp_d(const mp_int *a, mp_digit b)
{
/* compare based on sign */
if (a->sign == MP_NEG) {
@@ -35,7 +26,3 @@ int mp_cmp_d(const mp_int *a, mp_digit b)
}
}
#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_cmp_mag.c b/libtommath/bn_mp_cmp_mag.c
index 7f6ce27..f144ea9 100644
--- a/libtommath/bn_mp_cmp_mag.c
+++ b/libtommath/bn_mp_cmp_mag.c
@@ -1,22 +1,13 @@
#include "tommath_private.h"
#ifdef BN_MP_CMP_MAG_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
/* compare maginitude of two ints (unsigned) */
-int mp_cmp_mag(const mp_int *a, const mp_int *b)
+mp_ord mp_cmp_mag(const mp_int *a, const mp_int *b)
{
int n;
- mp_digit *tmpa, *tmpb;
+ const mp_digit *tmpa, *tmpb;
/* compare based on # of non-zero digits */
if (a->used > b->used) {
@@ -46,7 +37,3 @@ int mp_cmp_mag(const mp_int *a, const mp_int *b)
return MP_EQ;
}
#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_get_bit.c b/libtommath/bn_mp_get_bit.c
deleted file mode 100644
index f5d2450..0000000
--- a/libtommath/bn_mp_get_bit.c
+++ /dev/null
@@ -1,44 +0,0 @@
-#include "tommath_private.h"
-#ifdef BN_MP_GET_BIT_C
-
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* Checks the bit at position b and returns MP_YES
- if the bit is 1, MP_NO if it is 0 and MP_VAL
- in case of error */
-int mp_get_bit(const mp_int *a, int b)
-{
- int limb;
- mp_digit bit, isset;
-
- if (b < 0) {
- return MP_VAL;
- }
-
- limb = b / DIGIT_BIT;
-
- if (limb >= a->used) {
- return MP_NO;
- }
-
- bit = (mp_digit)(1) << (b % DIGIT_BIT);
-
- isset = a->dp[limb] & bit;
- return (isset != 0u) ? MP_YES : MP_NO;
-}
-
-#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_or.c b/libtommath/bn_mp_or.c
index a0f2711..78a6b08 100644
--- a/libtommath/bn_mp_or.c
+++ b/libtommath/bn_mp_or.c
@@ -1,48 +1,56 @@
#include "tommath_private.h"
#ifdef BN_MP_OR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* OR two ints together */
-int mp_or(const mp_int *a, const mp_int *b, mp_int *c)
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
+
+/* two complement or */
+mp_err mp_or(const mp_int *a, const mp_int *b, mp_int *c)
{
- int res, ix, px;
- mp_int t;
- const mp_int *x;
+ int used = MAX(a->used, b->used) + 1, i;
+ mp_err err;
+ mp_digit ac = 1, bc = 1, cc = 1;
+ mp_sign csign = ((a->sign == MP_NEG) || (b->sign == MP_NEG)) ? MP_NEG : MP_ZPOS;
- if (a->used > b->used) {
- if ((res = mp_init_copy(&t, a)) != MP_OKAY) {
- return res;
- }
- px = b->used;
- x = b;
- } else {
- if ((res = mp_init_copy(&t, b)) != MP_OKAY) {
- return res;
+ if (c->alloc < used) {
+ if ((err = mp_grow(c, used)) != MP_OKAY) {
+ return err;
}
- px = a->used;
- x = a;
}
- for (ix = 0; ix < px; ix++) {
- t.dp[ix] |= x->dp[ix];
+ for (i = 0; i < used; i++) {
+ mp_digit x, y;
+
+ /* convert to two complement if negative */
+ if (a->sign == MP_NEG) {
+ ac += (i >= a->used) ? MP_MASK : (~a->dp[i] & MP_MASK);
+ x = ac & MP_MASK;
+ ac >>= MP_DIGIT_BIT;
+ } else {
+ x = (i >= a->used) ? 0uL : a->dp[i];
+ }
+
+ /* convert to two complement if negative */
+ if (b->sign == MP_NEG) {
+ bc += (i >= b->used) ? MP_MASK : (~b->dp[i] & MP_MASK);
+ y = bc & MP_MASK;
+ bc >>= MP_DIGIT_BIT;
+ } else {
+ y = (i >= b->used) ? 0uL : b->dp[i];
+ }
+
+ c->dp[i] = x | y;
+
+ /* convert to to sign-magnitude if negative */
+ if (csign == MP_NEG) {
+ cc += ~c->dp[i] & MP_MASK;
+ c->dp[i] = cc & MP_MASK;
+ cc >>= MP_DIGIT_BIT;
+ }
}
- mp_clamp(&t);
- mp_exch(c, &t);
- mp_clear(&t);
+
+ c->used = used;
+ c->sign = csign;
+ mp_clamp(c);
return MP_OKAY;
}
#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_signed_rsh.c b/libtommath/bn_mp_signed_rsh.c
new file mode 100644
index 0000000..8d8d841
--- /dev/null
+++ b/libtommath/bn_mp_signed_rsh.c
@@ -0,0 +1,22 @@
+#include "tommath_private.h"
+#ifdef BN_MP_SIGNED_RSH_C
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
+
+/* shift right by a certain bit count with sign extension */
+mp_err mp_signed_rsh(const mp_int *a, int b, mp_int *c)
+{
+ mp_err res;
+ if (a->sign == MP_ZPOS) {
+ return mp_div_2d(a, b, c, NULL);
+ }
+
+ res = mp_add_d(a, 1uL, c);
+ if (res != MP_OKAY) {
+ return res;
+ }
+
+ res = mp_div_2d(c, b, c, NULL);
+ return (res == MP_OKAY) ? mp_sub_d(c, 1uL, c) : res;
+}
+#endif
diff --git a/libtommath/bn_mp_tc_and.c b/libtommath/bn_mp_tc_and.c
deleted file mode 100644
index 9834dc6..0000000
--- a/libtommath/bn_mp_tc_and.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "tommath_private.h"
-#ifdef BN_MP_TC_AND_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* two complement and */
-int mp_tc_and(const mp_int *a, const mp_int *b, mp_int *c)
-{
- int res = MP_OKAY, bits, abits, bbits;
- int as = mp_isneg(a), bs = mp_isneg(b);
- mp_int *mx = NULL, _mx, acpy, bcpy;
-
- if ((as != MP_NO) || (bs != MP_NO)) {
- abits = mp_count_bits(a);
- bbits = mp_count_bits(b);
- bits = MAX(abits, bbits);
- res = mp_init_set_int(&_mx, 1uL);
- if (res != MP_OKAY) {
- goto end;
- }
-
- mx = &_mx;
- res = mp_mul_2d(mx, bits + 1, mx);
- if (res != MP_OKAY) {
- goto end;
- }
-
- if (as != MP_NO) {
- res = mp_init(&acpy);
- if (res != MP_OKAY) {
- goto end;
- }
-
- res = mp_add(mx, a, &acpy);
- if (res != MP_OKAY) {
- mp_clear(&acpy);
- goto end;
- }
- a = &acpy;
- }
- if (bs != MP_NO) {
- res = mp_init(&bcpy);
- if (res != MP_OKAY) {
- goto end;
- }
-
- res = mp_add(mx, b, &bcpy);
- if (res != MP_OKAY) {
- mp_clear(&bcpy);
- goto end;
- }
- b = &bcpy;
- }
- }
-
- res = mp_and(a, b, c);
-
- if ((as != MP_NO) && (bs != MP_NO) && (res == MP_OKAY)) {
- res = mp_sub(c, mx, c);
- }
-
-end:
- if (a == &acpy) {
- mp_clear(&acpy);
- }
-
- if (b == &bcpy) {
- mp_clear(&bcpy);
- }
-
- if (mx == &_mx) {
- mp_clear(mx);
- }
-
- return res;
-}
-#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_tc_div_2d.c b/libtommath/bn_mp_tc_div_2d.c
deleted file mode 100644
index 4ff0acf..0000000
--- a/libtommath/bn_mp_tc_div_2d.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "tommath_private.h"
-#ifdef BN_MP_TC_DIV_2D_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* two complement right shift */
-int mp_tc_div_2d(const mp_int *a, int b, mp_int *c)
-{
- int res;
- if (mp_isneg(a) == MP_NO) {
- return mp_div_2d(a, b, c, NULL);
- }
-
- res = mp_add_d(a, 1uL, c);
- if (res != MP_OKAY) {
- return res;
- }
-
- res = mp_div_2d(c, b, c, NULL);
- return (res == MP_OKAY) ? mp_sub_d(c, 1uL, c) : res;
-}
-#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_tc_or.c b/libtommath/bn_mp_tc_or.c
deleted file mode 100644
index 0941468..0000000
--- a/libtommath/bn_mp_tc_or.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "tommath_private.h"
-#ifdef BN_MP_TC_OR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* two complement or */
-int mp_tc_or(const mp_int *a, const mp_int *b, mp_int *c)
-{
- int res = MP_OKAY, bits, abits, bbits;
- int as = mp_isneg(a), bs = mp_isneg(b);
- mp_int *mx = NULL, _mx, acpy, bcpy;
-
- if ((as != MP_NO) || (bs != MP_NO)) {
- abits = mp_count_bits(a);
- bbits = mp_count_bits(b);
- bits = MAX(abits, bbits);
- res = mp_init_set_int(&_mx, 1uL);
- if (res != MP_OKAY) {
- goto end;
- }
-
- mx = &_mx;
- res = mp_mul_2d(mx, bits + 1, mx);
- if (res != MP_OKAY) {
- goto end;
- }
-
- if (as != MP_NO) {
- res = mp_init(&acpy);
- if (res != MP_OKAY) {
- goto end;
- }
-
- res = mp_add(mx, a, &acpy);
- if (res != MP_OKAY) {
- mp_clear(&acpy);
- goto end;
- }
- a = &acpy;
- }
- if (bs != MP_NO) {
- res = mp_init(&bcpy);
- if (res != MP_OKAY) {
- goto end;
- }
-
- res = mp_add(mx, b, &bcpy);
- if (res != MP_OKAY) {
- mp_clear(&bcpy);
- goto end;
- }
- b = &bcpy;
- }
- }
-
- res = mp_or(a, b, c);
-
- if (((as != MP_NO) || (bs != MP_NO)) && (res == MP_OKAY)) {
- res = mp_sub(c, mx, c);
- }
-
-end:
- if (a == &acpy) {
- mp_clear(&acpy);
- }
-
- if (b == &bcpy) {
- mp_clear(&bcpy);
- }
-
- if (mx == &_mx) {
- mp_clear(mx);
- }
-
- return res;
-}
-#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_tc_xor.c b/libtommath/bn_mp_tc_xor.c
deleted file mode 100644
index cdb1d40..0000000
--- a/libtommath/bn_mp_tc_xor.c
+++ /dev/null
@@ -1,90 +0,0 @@
-#include "tommath_private.h"
-#ifdef BN_MP_TC_XOR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* two complement xor */
-int mp_tc_xor(const mp_int *a, const mp_int *b, mp_int *c)
-{
- int res = MP_OKAY, bits, abits, bbits;
- int as = mp_isneg(a), bs = mp_isneg(b);
- mp_int *mx = NULL, _mx, acpy, bcpy;
-
- if ((as != MP_NO) || (bs != MP_NO)) {
- abits = mp_count_bits(a);
- bbits = mp_count_bits(b);
- bits = MAX(abits, bbits);
- res = mp_init_set_int(&_mx, 1uL);
- if (res != MP_OKAY) {
- goto end;
- }
-
- mx = &_mx;
- res = mp_mul_2d(mx, bits + 1, mx);
- if (res != MP_OKAY) {
- goto end;
- }
-
- if (as != MP_NO) {
- res = mp_init(&acpy);
- if (res != MP_OKAY) {
- goto end;
- }
-
- res = mp_add(mx, a, &acpy);
- if (res != MP_OKAY) {
- mp_clear(&acpy);
- goto end;
- }
- a = &acpy;
- }
- if (bs != MP_NO) {
- res = mp_init(&bcpy);
- if (res != MP_OKAY) {
- goto end;
- }
-
- res = mp_add(mx, b, &bcpy);
- if (res != MP_OKAY) {
- mp_clear(&bcpy);
- goto end;
- }
- b = &bcpy;
- }
- }
-
- res = mp_xor(a, b, c);
-
- if ((as != bs) && (res == MP_OKAY)) {
- res = mp_sub(c, mx, c);
- }
-
-end:
- if (a == &acpy) {
- mp_clear(&acpy);
- }
-
- if (b == &bcpy) {
- mp_clear(&bcpy);
- }
-
- if (mx == &_mx) {
- mp_clear(mx);
- }
-
- return res;
-}
-#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_mp_xor.c b/libtommath/bn_mp_xor.c
index bfcdbb9..073985e 100644
--- a/libtommath/bn_mp_xor.c
+++ b/libtommath/bn_mp_xor.c
@@ -1,48 +1,56 @@
#include "tommath_private.h"
#ifdef BN_MP_XOR_C
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
-
-/* XOR two ints together */
-int mp_xor(const mp_int *a, const mp_int *b, mp_int *c)
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
+
+/* two complement xor */
+mp_err mp_xor(const mp_int *a, const mp_int *b, mp_int *c)
{
- int res, ix, px;
- mp_int t;
- const mp_int *x;
+ int used = MAX(a->used, b->used) + 1, i;
+ mp_err err;
+ mp_digit ac = 1, bc = 1, cc = 1;
+ mp_sign csign = (a->sign != b->sign) ? MP_NEG : MP_ZPOS;
- if (a->used > b->used) {
- if ((res = mp_init_copy(&t, a)) != MP_OKAY) {
- return res;
- }
- px = b->used;
- x = b;
- } else {
- if ((res = mp_init_copy(&t, b)) != MP_OKAY) {
- return res;
+ if (c->alloc < used) {
+ if ((err = mp_grow(c, used)) != MP_OKAY) {
+ return err;
}
- px = a->used;
- x = a;
}
- for (ix = 0; ix < px; ix++) {
- t.dp[ix] ^= x->dp[ix];
+ for (i = 0; i < used; i++) {
+ mp_digit x, y;
+
+ /* convert to two complement if negative */
+ if (a->sign == MP_NEG) {
+ ac += (i >= a->used) ? MP_MASK : (~a->dp[i] & MP_MASK);
+ x = ac & MP_MASK;
+ ac >>= MP_DIGIT_BIT;
+ } else {
+ x = (i >= a->used) ? 0uL : a->dp[i];
+ }
+
+ /* convert to two complement if negative */
+ if (b->sign == MP_NEG) {
+ bc += (i >= b->used) ? MP_MASK : (~b->dp[i] & MP_MASK);
+ y = bc & MP_MASK;
+ bc >>= MP_DIGIT_BIT;
+ } else {
+ y = (i >= b->used) ? 0uL : b->dp[i];
+ }
+
+ c->dp[i] = x ^ y;
+
+ /* convert to to sign-magnitude if negative */
+ if (csign == MP_NEG) {
+ cc += ~c->dp[i] & MP_MASK;
+ c->dp[i] = cc & MP_MASK;
+ cc >>= MP_DIGIT_BIT;
+ }
}
- mp_clamp(&t);
- mp_exch(c, &t);
- mp_clear(&t);
+
+ c->used = used;
+ c->sign = csign;
+ mp_clamp(c);
return MP_OKAY;
}
#endif
-
-/* ref: $Format:%D$ */
-/* git commit: $Format:%H$ */
-/* commit time: $Format:%ai$ */
diff --git a/libtommath/bn_s_mp_get_bit.c b/libtommath/bn_s_mp_get_bit.c
new file mode 100644
index 0000000..da9ccbb
--- /dev/null
+++ b/libtommath/bn_s_mp_get_bit.c
@@ -0,0 +1,21 @@
+#include "tommath_private.h"
+#ifdef BN_S_MP_GET_BIT_C
+
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
+
+/* Get bit at position b and return MP_YES if the bit is 1, MP_NO if it is 0 */
+mp_bool s_mp_get_bit(const mp_int *a, int b)
+{
+ mp_digit bit;
+ int limb = (int)((unsigned)b / MP_DIGIT_BIT);
+
+ if (limb >= a->used) {
+ return MP_NO;
+ }
+
+ bit = (mp_digit)1 << ((unsigned)b % MP_DIGIT_BIT);
+ return ((a->dp[limb] & bit) != 0u) ? MP_YES : MP_NO;
+}
+
+#endif
diff --git a/libtommath/callgraph.txt b/libtommath/callgraph.txt
deleted file mode 100644
index 83ca1c1..0000000
--- a/libtommath/callgraph.txt
+++ /dev/null
@@ -1,21542 +0,0 @@
-BNCORE_C
-
-
-BN_ERROR_C
-
-
-BN_FAST_MP_INVMOD_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_FAST_MP_MONTGOMERY_REDUCE_C
-+--->BN_MP_GROW_C
-+--->BN_MP_RSHD_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-
-
-BN_FAST_S_MP_MUL_DIGS_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_FAST_S_MP_MUL_HIGH_DIGS_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_FAST_S_MP_SQR_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_2EXPT_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_GROW_C
-
-
-BN_MP_ABS_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-
-
-BN_MP_ADDMOD_C
-+--->BN_MP_INIT_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-
-
-BN_MP_ADD_C
-+--->BN_S_MP_ADD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_ADD_D_C
-+--->BN_MP_GROW_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_AND_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_CLAMP_C
-
-
-BN_MP_CLEAR_C
-
-
-BN_MP_CLEAR_MULTI_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_CMP_C
-+--->BN_MP_CMP_MAG_C
-
-
-BN_MP_CMP_D_C
-
-
-BN_MP_CMP_MAG_C
-
-
-BN_MP_CNT_LSB_C
-
-
-BN_MP_COMPLEMENT_C
-+--->BN_MP_NEG_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_COPY_C
-+--->BN_MP_GROW_C
-
-
-BN_MP_COUNT_BITS_C
-
-
-BN_MP_DIV_2D_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_MOD_2D_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_RSHD_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_DIV_2_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_DIV_3_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_DIV_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SET_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_ABS_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_INIT_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-+--->BN_MP_RSHD_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_DIV_D_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_3_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_DR_IS_MODULUS_C
-
-
-BN_MP_DR_REDUCE_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-
-
-BN_MP_DR_SETUP_C
-
-
-BN_MP_EXCH_C
-
-
-BN_MP_EXPORT_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_EXPTMOD_C
-+--->BN_MP_INIT_C
-+--->BN_MP_INVMOD_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_FAST_MP_INVMOD_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INVMOD_SLOW_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_ABS_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-+--->BN_MP_CLEAR_MULTI_C
-+--->BN_MP_REDUCE_IS_2K_L_C
-+--->BN_S_MP_EXPTMOD_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_REDUCE_SETUP_C
-| | +--->BN_MP_2EXPT_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_REDUCE_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_D_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | +--->BN_MP_2EXPT_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_REDUCE_2K_L_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_EXCH_C
-+--->BN_MP_DR_IS_MODULUS_C
-+--->BN_MP_REDUCE_IS_2K_C
-| +--->BN_MP_REDUCE_2K_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COUNT_BITS_C
-+--->BN_MP_EXPTMOD_FAST_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_MONTGOMERY_SETUP_C
-| +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| +--->BN_MP_MONTGOMERY_REDUCE_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| +--->BN_MP_DR_SETUP_C
-| +--->BN_MP_DR_REDUCE_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| +--->BN_MP_REDUCE_2K_SETUP_C
-| | +--->BN_MP_2EXPT_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_REDUCE_2K_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | +--->BN_MP_2EXPT_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MULMOD_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_EXCH_C
-
-
-BN_MP_EXPTMOD_FAST_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_MONTGOMERY_SETUP_C
-+--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-+--->BN_MP_MONTGOMERY_REDUCE_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-+--->BN_MP_DR_SETUP_C
-+--->BN_MP_DR_REDUCE_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-+--->BN_MP_REDUCE_2K_SETUP_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_2EXPT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_GROW_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_REDUCE_2K_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| +--->BN_MP_2EXPT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MULMOD_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_EXCH_C
-
-
-BN_MP_EXPT_D_C
-+--->BN_MP_EXPT_D_EX_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-
-
-BN_MP_EXPT_D_EX_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-
-
-BN_MP_EXTEUCLID_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_DIV_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_ABS_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_NEG_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_FREAD_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_D_C
-
-
-BN_MP_FWRITE_C
-+--->BN_MP_RADIX_SIZE_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_DIV_D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_TORADIX_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_DIV_D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_GCD_C
-+--->BN_MP_ABS_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CNT_LSB_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_EXCH_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_GET_BIT_C
-
-
-BN_MP_GET_DOUBLE_C
-
-
-BN_MP_GET_INT_C
-
-
-BN_MP_GET_LONG_C
-
-
-BN_MP_GET_LONG_LONG_C
-
-
-BN_MP_GROW_C
-
-
-BN_MP_IMPORT_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_INIT_C
-
-
-BN_MP_INIT_COPY_C
-+--->BN_MP_INIT_SIZE_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_INIT_MULTI_C
-+--->BN_MP_INIT_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_INIT_SET_C
-+--->BN_MP_INIT_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-
-
-BN_MP_INIT_SET_INT_C
-+--->BN_MP_INIT_C
-+--->BN_MP_SET_INT_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_INIT_SIZE_C
-+--->BN_MP_INIT_C
-
-
-BN_MP_INVMOD_C
-+--->BN_MP_CMP_D_C
-+--->BN_FAST_MP_INVMOD_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_DIV_2_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_INVMOD_SLOW_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_DIV_2_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-
-
-BN_MP_INVMOD_SLOW_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_IS_SQUARE_C
-+--->BN_MP_MOD_D_C
-| +--->BN_MP_DIV_D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_SET_INT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_INT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_GET_INT_C
-+--->BN_MP_SQRT_C
-| +--->BN_MP_N_ROOT_C
-| | +--->BN_MP_N_ROOT_EX_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_EXPT_D_EX_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_JACOBI_C
-+--->BN_MP_KRONECKER_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CMP_D_C
-
-
-BN_MP_KARATSUBA_MUL_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_S_MP_ADD_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ADD_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_KARATSUBA_SQR_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_S_MP_ADD_C
-| +--->BN_MP_GROW_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-+--->BN_MP_ADD_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_KRONECKER_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CNT_LSB_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_LCM_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_GCD_C
-| +--->BN_MP_ABS_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_EXCH_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_DIV_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_SET_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_ABS_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_LSHD_C
-+--->BN_MP_GROW_C
-+--->BN_MP_RSHD_C
-| +--->BN_MP_ZERO_C
-
-
-BN_MP_MOD_2D_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_MOD_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_DIV_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SET_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_ABS_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-
-
-BN_MP_MOD_D_C
-+--->BN_MP_DIV_D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_3_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_2EXPT_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_MUL_2_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_MONTGOMERY_REDUCE_C
-+--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_RSHD_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-
-
-BN_MP_MONTGOMERY_SETUP_C
-
-
-BN_MP_MULMOD_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-
-
-BN_MP_MUL_2D_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_GROW_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_MUL_2_C
-+--->BN_MP_GROW_C
-
-
-BN_MP_MUL_C
-+--->BN_MP_TOOM_MUL_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_3_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_KARATSUBA_MUL_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLEAR_C
-+--->BN_FAST_S_MP_MUL_DIGS_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_S_MP_MUL_DIGS_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_MUL_D_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_NEG_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-
-
-BN_MP_N_ROOT_C
-+--->BN_MP_N_ROOT_EX_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_EXPT_D_EX_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_N_ROOT_EX_C
-+--->BN_MP_INIT_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_EXPT_D_EX_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_ABS_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_OR_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_FERMAT_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_INIT_C
-+--->BN_MP_EXPTMOD_C
-| +--->BN_MP_INVMOD_C
-| | +--->BN_FAST_MP_INVMOD_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INVMOD_SLOW_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_ABS_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_REDUCE_IS_2K_L_C
-| +--->BN_S_MP_EXPTMOD_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_REDUCE_SETUP_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_L_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_EXCH_C
-| +--->BN_MP_DR_IS_MODULUS_C
-| +--->BN_MP_REDUCE_IS_2K_C
-| | +--->BN_MP_REDUCE_2K_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_EXPTMOD_FAST_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_MONTGOMERY_SETUP_C
-| | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_DR_SETUP_C
-| | +--->BN_MP_DR_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MULMOD_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
-+--->BN_MP_PRIME_IS_PRIME_C
-| +--->BN_MP_IS_SQUARE_C
-| | +--->BN_MP_MOD_D_C
-| | | +--->BN_MP_DIV_D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SET_INT_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_SET_INT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_INT_C
-| | +--->BN_MP_SQRT_C
-| | | +--->BN_MP_N_ROOT_C
-| | | | +--->BN_MP_N_ROOT_EX_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_EXPT_D_EX_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_MUL_C
-| | | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_SQR_C
-| | | | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | +--->BN_MP_ABS_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2D_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_SUB_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_MP_PRIME_IS_DIVISIBLE_C
-| | +--->BN_MP_MOD_D_C
-| | | +--->BN_MP_DIV_D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SET_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_PRIME_MILLER_RABIN_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXPTMOD_C
-| | | +--->BN_MP_INVMOD_C
-| | | | +--->BN_FAST_MP_INVMOD_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INVMOD_SLOW_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_REDUCE_IS_2K_L_C
-| | | +--->BN_S_MP_EXPTMOD_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_REDUCE_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_L_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_DR_IS_MODULUS_C
-| | | +--->BN_MP_REDUCE_IS_2K_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_EXPTMOD_FAST_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_MONTGOMERY_SETUP_C
-| | | | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_DR_SETUP_C
-| | | | +--->BN_MP_DR_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MULMOD_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_SQRMOD_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_LONG_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_GCD_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_KRONECKER_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_BIT_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_READ_RADIX_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_RAND_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SET_LONG_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_KRONECKER_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_GCD_C
-| +--->BN_MP_ABS_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_EXCH_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_MUL_2_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_EXCH_C
-+--->BN_MP_GET_BIT_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_IS_DIVISIBLE_C
-+--->BN_MP_MOD_D_C
-| +--->BN_MP_DIV_D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_IS_PRIME_C
-+--->BN_MP_IS_SQUARE_C
-| +--->BN_MP_MOD_D_C
-| | +--->BN_MP_DIV_D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SET_INT_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_INT_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_GET_INT_C
-| +--->BN_MP_SQRT_C
-| | +--->BN_MP_N_ROOT_C
-| | | +--->BN_MP_N_ROOT_EX_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_EXPT_D_EX_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_SQR_C
-| | | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SQR_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_SUB_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_PRIME_IS_DIVISIBLE_C
-| +--->BN_MP_MOD_D_C
-| | +--->BN_MP_DIV_D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_SET_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-+--->BN_MP_PRIME_MILLER_RABIN_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXPTMOD_C
-| | +--->BN_MP_INVMOD_C
-| | | +--->BN_FAST_MP_INVMOD_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | +--->BN_MP_ABS_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INVMOD_SLOW_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | +--->BN_MP_ABS_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_ABS_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_REDUCE_IS_2K_L_C
-| | +--->BN_S_MP_EXPTMOD_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_REDUCE_SETUP_C
-| | | | +--->BN_MP_2EXPT_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_REDUCE_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | | +--->BN_MP_2EXPT_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_REDUCE_2K_L_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_DR_IS_MODULUS_C
-| | +--->BN_MP_REDUCE_IS_2K_C
-| | | +--->BN_MP_REDUCE_2K_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_EXPTMOD_FAST_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_MONTGOMERY_SETUP_C
-| | | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_DR_SETUP_C
-| | | +--->BN_MP_DR_REDUCE_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | | +--->BN_MP_2EXPT_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_REDUCE_2K_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | | +--->BN_MP_2EXPT_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MULMOD_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_SQRMOD_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SET_LONG_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_KRONECKER_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_GCD_C
-| | +--->BN_MP_ABS_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_MUL_2_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_EXCH_C
-| +--->BN_MP_GET_BIT_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_LONG_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_GCD_C
-| | +--->BN_MP_ABS_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_KRONECKER_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_GET_BIT_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_MULTI_C
-+--->BN_MP_READ_RADIX_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_RAND_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_MILLER_RABIN_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CNT_LSB_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_EXPTMOD_C
-| +--->BN_MP_INVMOD_C
-| | +--->BN_FAST_MP_INVMOD_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INVMOD_SLOW_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_ABS_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_REDUCE_IS_2K_L_C
-| +--->BN_S_MP_EXPTMOD_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_REDUCE_SETUP_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_L_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_EXCH_C
-| +--->BN_MP_DR_IS_MODULUS_C
-| +--->BN_MP_REDUCE_IS_2K_C
-| | +--->BN_MP_REDUCE_2K_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_EXPTMOD_FAST_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_MONTGOMERY_SETUP_C
-| | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_DR_SETUP_C
-| | +--->BN_MP_DR_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MULMOD_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_SQRMOD_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_NEXT_PRIME_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MOD_D_C
-| +--->BN_MP_DIV_D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_PRIME_IS_PRIME_C
-| +--->BN_MP_IS_SQUARE_C
-| | +--->BN_MP_INIT_SET_INT_C
-| | | +--->BN_MP_SET_INT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_INT_C
-| | +--->BN_MP_SQRT_C
-| | | +--->BN_MP_N_ROOT_C
-| | | | +--->BN_MP_N_ROOT_EX_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_EXPT_D_EX_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_MUL_C
-| | | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_SQR_C
-| | | | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | +--->BN_MP_ABS_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2D_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_IS_DIVISIBLE_C
-| +--->BN_MP_INIT_SET_C
-| +--->BN_MP_PRIME_MILLER_RABIN_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXPTMOD_C
-| | | +--->BN_MP_INVMOD_C
-| | | | +--->BN_FAST_MP_INVMOD_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INVMOD_SLOW_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_REDUCE_IS_2K_L_C
-| | | +--->BN_S_MP_EXPTMOD_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_REDUCE_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_L_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_DR_IS_MODULUS_C
-| | | +--->BN_MP_REDUCE_IS_2K_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_EXPTMOD_FAST_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_MONTGOMERY_SETUP_C
-| | | | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_DR_SETUP_C
-| | | | +--->BN_MP_DR_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MULMOD_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_SQRMOD_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_LONG_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KRONECKER_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_GCD_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_GET_BIT_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_LONG_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_GCD_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_KRONECKER_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_BIT_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_READ_RADIX_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_RAND_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_PRIME_RABIN_MILLER_TRIALS_C
-
-
-BN_MP_PRIME_RANDOM_EX_C
-+--->BN_MP_READ_UNSIGNED_BIN_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_PRIME_IS_PRIME_C
-| +--->BN_MP_IS_SQUARE_C
-| | +--->BN_MP_MOD_D_C
-| | | +--->BN_MP_DIV_D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SET_INT_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_SET_INT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_INT_C
-| | +--->BN_MP_SQRT_C
-| | | +--->BN_MP_N_ROOT_C
-| | | | +--->BN_MP_N_ROOT_EX_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_EXPT_D_EX_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_MUL_C
-| | | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_SQR_C
-| | | | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | +--->BN_MP_ABS_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2D_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_SUB_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_MP_PRIME_IS_DIVISIBLE_C
-| | +--->BN_MP_MOD_D_C
-| | | +--->BN_MP_DIV_D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SET_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_PRIME_MILLER_RABIN_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXPTMOD_C
-| | | +--->BN_MP_INVMOD_C
-| | | | +--->BN_FAST_MP_INVMOD_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INVMOD_SLOW_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_REDUCE_IS_2K_L_C
-| | | +--->BN_S_MP_EXPTMOD_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_REDUCE_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_L_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_DR_IS_MODULUS_C
-| | | +--->BN_MP_REDUCE_IS_2K_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_EXPTMOD_FAST_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_MONTGOMERY_SETUP_C
-| | | | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_DR_SETUP_C
-| | | | +--->BN_MP_DR_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MULMOD_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_SQRMOD_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_LONG_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_KRONECKER_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_GCD_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_GET_BIT_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_LONG_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_GCD_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_KRONECKER_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_BIT_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_READ_RADIX_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_RAND_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_PRIME_STRONG_LUCAS_SELFRIDGE_C
-+--->BN_MP_PRIME_IS_PRIME_C
-| +--->BN_MP_IS_SQUARE_C
-| | +--->BN_MP_MOD_D_C
-| | | +--->BN_MP_DIV_D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SET_INT_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_SET_INT_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_GET_INT_C
-| | +--->BN_MP_SQRT_C
-| | | +--->BN_MP_N_ROOT_C
-| | | | +--->BN_MP_N_ROOT_EX_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_EXPT_D_EX_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_MUL_C
-| | | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_SQR_C
-| | | | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SQR_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | +--->BN_MP_ABS_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2D_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_SUB_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_MP_PRIME_IS_DIVISIBLE_C
-| | +--->BN_MP_MOD_D_C
-| | | +--->BN_MP_DIV_D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SET_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_PRIME_MILLER_RABIN_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXPTMOD_C
-| | | +--->BN_MP_INVMOD_C
-| | | | +--->BN_FAST_MP_INVMOD_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INVMOD_SLOW_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | | | +--->BN_MP_ABS_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_REDUCE_IS_2K_L_C
-| | | +--->BN_S_MP_EXPTMOD_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_REDUCE_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_L_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_DR_IS_MODULUS_C
-| | | +--->BN_MP_REDUCE_IS_2K_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_EXPTMOD_FAST_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_MONTGOMERY_SETUP_C
-| | | | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_DR_SETUP_C
-| | | | +--->BN_MP_DR_REDUCE_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_REDUCE_2K_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | | | +--->BN_MP_2EXPT_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MULMOD_C
-| | | | | +--->BN_MP_MUL_C
-| | | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_MOD_C
-| | | | | | +--->BN_MP_DIV_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_MP_COPY_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | | +--->BN_MP_SET_C
-| | | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_C
-| | | | | | | +--->BN_MP_SUB_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_ADD_C
-| | | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_C
-| | | | | +--->BN_MP_DIV_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SQR_C
-| | | | | +--->BN_MP_TOOM_SQR_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SQR_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_MUL_C
-| | | | | +--->BN_MP_TOOM_MUL_C
-| | | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_MUL_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_SUB_C
-| | | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_2_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_2D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_MUL_D_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_DIV_3_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_ADD_C
-| | | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_SQRMOD_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_PRIME_FROBENIUS_UNDERWOOD_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_LONG_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_KRONECKER_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_GCD_C
-| | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CNT_LSB_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_INIT_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_INIT_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_GET_BIT_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_READ_RADIX_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_RAND_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SUB_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_INIT_C
-+--->BN_MP_SET_LONG_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_MULTI_C
-+--->BN_MP_GCD_C
-| +--->BN_MP_ABS_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_EXCH_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_MP_KRONECKER_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CNT_LSB_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CNT_LSB_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_MUL_2_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_GET_BIT_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_MULTI_C
-
-
-BN_MP_RADIX_SIZE_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_DIV_D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_3_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_RADIX_SMAP_C
-
-
-BN_MP_RAND_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-
-
-BN_MP_READ_RADIX_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_READ_SIGNED_BIN_C
-+--->BN_MP_READ_UNSIGNED_BIN_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_READ_UNSIGNED_BIN_C
-+--->BN_MP_GROW_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_REDUCE_2K_C
-+--->BN_MP_INIT_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_S_MP_ADD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_REDUCE_2K_L_C
-+--->BN_MP_INIT_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_S_MP_ADD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_REDUCE_2K_SETUP_C
-+--->BN_MP_INIT_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_2EXPT_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_CLEAR_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_REDUCE_2K_SETUP_L_C
-+--->BN_MP_INIT_C
-+--->BN_MP_2EXPT_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_REDUCE_C
-+--->BN_MP_REDUCE_SETUP_C
-| +--->BN_MP_2EXPT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_RSHD_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_S_MP_MUL_HIGH_DIGS_C
-| +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MOD_2D_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_S_MP_MUL_DIGS_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_C
-| +--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_REDUCE_IS_2K_C
-+--->BN_MP_REDUCE_2K_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_COUNT_BITS_C
-
-
-BN_MP_REDUCE_IS_2K_L_C
-
-
-BN_MP_REDUCE_SETUP_C
-+--->BN_MP_2EXPT_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_DIV_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SET_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_ABS_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_RSHD_C
-+--->BN_MP_ZERO_C
-
-
-BN_MP_SET_C
-+--->BN_MP_ZERO_C
-
-
-BN_MP_SET_DOUBLE_C
-+--->BN_MP_SET_LONG_LONG_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_SET_INT_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_SET_LONG_C
-
-
-BN_MP_SET_LONG_LONG_C
-
-
-BN_MP_SHRINK_C
-
-
-BN_MP_SIGNED_BIN_SIZE_C
-+--->BN_MP_UNSIGNED_BIN_SIZE_C
-| +--->BN_MP_COUNT_BITS_C
-
-
-BN_MP_SQRMOD_C
-+--->BN_MP_INIT_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-
-
-BN_MP_SQRTMOD_PRIME_C
-+--->BN_MP_CMP_D_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_JACOBI_C
-| +--->BN_MP_KRONECKER_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CNT_LSB_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_COUNT_BITS_C
-| | | | +--->BN_MP_ABS_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_D_C
-| +--->BN_MP_DIV_D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_EXPTMOD_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_INVMOD_C
-| | +--->BN_FAST_MP_INVMOD_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_INVMOD_SLOW_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_COUNT_BITS_C
-| | | | | +--->BN_MP_ABS_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_ABS_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_REDUCE_IS_2K_L_C
-| +--->BN_S_MP_EXPTMOD_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_REDUCE_SETUP_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_SETUP_L_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_L_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_SET_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_EXCH_C
-| +--->BN_MP_DR_IS_MODULUS_C
-| +--->BN_MP_REDUCE_IS_2K_C
-| | +--->BN_MP_REDUCE_2K_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_EXPTMOD_FAST_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_MONTGOMERY_SETUP_C
-| | +--->BN_FAST_MP_MONTGOMERY_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_MONTGOMERY_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_DR_SETUP_C
-| | +--->BN_MP_DR_REDUCE_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | +--->BN_MP_REDUCE_2K_SETUP_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_REDUCE_2K_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MONTGOMERY_CALC_NORMALIZATION_C
-| | | +--->BN_MP_2EXPT_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MULMOD_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_COPY_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_MOD_C
-| | | | +--->BN_MP_DIV_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_MP_COPY_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_SET_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2D_C
-| | | | | | +--->BN_MP_MOD_2D_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_INIT_COPY_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_MOD_C
-| | | +--->BN_MP_DIV_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2D_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_SQR_C
-| | | +--->BN_MP_TOOM_SQR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_FAST_S_MP_SQR_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SQR_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SET_INT_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SQRMOD_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SQR_C
-| | +--->BN_MP_TOOM_SQR_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_SQR_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SQR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-+--->BN_MP_MULMOD_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_C
-| +--->BN_MP_CLEAR_C
-| +--->BN_MP_MOD_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_SET_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | +--->BN_MP_INIT_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-+--->BN_MP_SET_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_SQRT_C
-+--->BN_MP_N_ROOT_C
-| +--->BN_MP_N_ROOT_EX_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_SET_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_EXPT_D_EX_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_MUL_C
-| | | | +--->BN_MP_TOOM_MUL_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_MUL_DIGS_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_SQR_C
-| | | | +--->BN_MP_TOOM_SQR_C
-| | | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_MOD_2D_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_MUL_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_SUB_C
-| | | | | | +--->BN_S_MP_ADD_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | | | +--->BN_S_MP_SUB_C
-| | | | | | | +--->BN_MP_GROW_C
-| | | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_2_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_2D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_MUL_D_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_DIV_3_C
-| | | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_KARATSUBA_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_RSHD_C
-| | | | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_ADD_C
-| | | | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_FAST_S_MP_SQR_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SQR_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_MUL_C
-| | | +--->BN_MP_TOOM_MUL_C
-| | | | +--->BN_MP_INIT_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_MUL_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_SUB_C
-| | | | | +--->BN_S_MP_ADD_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_2_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_2D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_MUL_D_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_DIV_3_C
-| | | | | +--->BN_MP_INIT_SIZE_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | | +--->BN_MP_EXCH_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLEAR_MULTI_C
-| | | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_KARATSUBA_MUL_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_ADD_C
-| | | | | +--->BN_MP_CMP_MAG_C
-| | | | | +--->BN_S_MP_SUB_C
-| | | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_MUL_DIGS_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_COUNT_BITS_C
-| | | +--->BN_MP_ABS_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2D_C
-| | | | +--->BN_MP_MOD_2D_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_COPY_C
-| | | | +--->BN_MP_CLEAR_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_CMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_SUB_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_ZERO_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_RSHD_C
-+--->BN_MP_DIV_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_SET_C
-| +--->BN_MP_COUNT_BITS_C
-| +--->BN_MP_ABS_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_SQR_C
-+--->BN_MP_TOOM_SQR_C
-| +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_2_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_2_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_2D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_D_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_3_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_KARATSUBA_SQR_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_ADD_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_MP_CLEAR_C
-+--->BN_FAST_S_MP_SQR_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_S_MP_SQR_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_SUBMOD_C
-+--->BN_MP_INIT_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_COUNT_BITS_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-
-
-BN_MP_SUB_C
-+--->BN_S_MP_ADD_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CMP_MAG_C
-+--->BN_S_MP_SUB_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_SUB_D_C
-+--->BN_MP_GROW_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLAMP_C
-
-
-BN_MP_TC_AND_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_INIT_SET_INT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_INT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_INIT_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_AND_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-
-
-BN_MP_TC_DIV_2D_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_ADD_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_SUB_D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_SUB_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-
-
-BN_MP_TC_OR_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_INIT_SET_INT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_INT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_INIT_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_OR_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-
-
-BN_MP_TC_XOR_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_INIT_SET_INT_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_SET_INT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_INIT_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_XOR_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-
-
-BN_MP_TOOM_MUL_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_2D_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_RSHD_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_MUL_2_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_3_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_TOOM_SQR_C
-+--->BN_MP_INIT_MULTI_C
-| +--->BN_MP_INIT_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_MOD_2D_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_RSHD_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_INIT_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-+--->BN_MP_MUL_2_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_ADD_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_SUB_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_2_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_2D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_LSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_MUL_D_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_DIV_3_C
-| +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_LSHD_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_TORADIX_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_DIV_D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_3_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_TORADIX_N_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_DIV_D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_DIV_3_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_TO_SIGNED_BIN_C
-+--->BN_MP_TO_UNSIGNED_BIN_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_TO_SIGNED_BIN_N_C
-+--->BN_MP_SIGNED_BIN_SIZE_C
-| +--->BN_MP_UNSIGNED_BIN_SIZE_C
-| | +--->BN_MP_COUNT_BITS_C
-+--->BN_MP_TO_SIGNED_BIN_C
-| +--->BN_MP_TO_UNSIGNED_BIN_C
-| | +--->BN_MP_INIT_COPY_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLEAR_C
-
-
-BN_MP_TO_UNSIGNED_BIN_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_DIV_2D_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ZERO_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_RSHD_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_TO_UNSIGNED_BIN_N_C
-+--->BN_MP_UNSIGNED_BIN_SIZE_C
-| +--->BN_MP_COUNT_BITS_C
-+--->BN_MP_TO_UNSIGNED_BIN_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CLEAR_C
-
-
-BN_MP_UNSIGNED_BIN_SIZE_C
-+--->BN_MP_COUNT_BITS_C
-
-
-BN_MP_XOR_C
-+--->BN_MP_INIT_COPY_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_COPY_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_CLEAR_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_MP_ZERO_C
-
-
-BN_PRIME_TAB_C
-
-
-BN_REVERSE_C
-
-
-BN_S_MP_ADD_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
-BN_S_MP_EXPTMOD_C
-+--->BN_MP_COUNT_BITS_C
-+--->BN_MP_INIT_C
-+--->BN_MP_CLEAR_C
-+--->BN_MP_REDUCE_SETUP_C
-| +--->BN_MP_2EXPT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_REDUCE_C
-| +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| +--->BN_MP_RSHD_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_S_MP_MUL_HIGH_DIGS_C
-| | +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| +--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MOD_2D_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| +--->BN_MP_SUB_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_D_C
-| +--->BN_MP_SET_C
-| | +--->BN_MP_ZERO_C
-| +--->BN_MP_LSHD_C
-| | +--->BN_MP_GROW_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_C
-| | +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_REDUCE_2K_SETUP_L_C
-| +--->BN_MP_2EXPT_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_GROW_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_REDUCE_2K_L_C
-| +--->BN_MP_DIV_2D_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_MUL_C
-| | +--->BN_MP_TOOM_MUL_C
-| | | +--->BN_MP_INIT_MULTI_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_ZERO_C
-| | | | +--->BN_MP_COPY_C
-| | | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_COPY_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_MUL_2_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_SUB_C
-| | | | +--->BN_S_MP_ADD_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_2_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_2D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_MUL_D_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_DIV_3_C
-| | | | +--->BN_MP_INIT_SIZE_C
-| | | | +--->BN_MP_CLAMP_C
-| | | | +--->BN_MP_EXCH_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_KARATSUBA_MUL_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_ADD_C
-| | | | +--->BN_MP_CMP_MAG_C
-| | | | +--->BN_S_MP_SUB_C
-| | | | | +--->BN_MP_GROW_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_RSHD_C
-| | | | | +--->BN_MP_ZERO_C
-| | +--->BN_FAST_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_MUL_DIGS_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| +--->BN_S_MP_ADD_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_CMP_MAG_C
-| +--->BN_S_MP_SUB_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-+--->BN_MP_MOD_C
-| +--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_DIV_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_MP_COPY_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ZERO_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_SET_C
-| | +--->BN_MP_ABS_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2D_C
-| | | +--->BN_MP_MOD_2D_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| | +--->BN_MP_INIT_COPY_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | +--->BN_MP_RSHD_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_MP_EXCH_C
-| +--->BN_MP_ADD_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_CMP_MAG_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-+--->BN_MP_COPY_C
-| +--->BN_MP_GROW_C
-+--->BN_MP_SQR_C
-| +--->BN_MP_TOOM_SQR_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_KARATSUBA_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| +--->BN_FAST_S_MP_SQR_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_SQR_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_MUL_C
-| +--->BN_MP_TOOM_MUL_C
-| | +--->BN_MP_INIT_MULTI_C
-| | +--->BN_MP_MOD_2D_C
-| | | +--->BN_MP_ZERO_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_RSHD_C
-| | | +--->BN_MP_ZERO_C
-| | +--->BN_MP_MUL_2_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_SUB_C
-| | | +--->BN_S_MP_ADD_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_2_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_2D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_MUL_D_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_DIV_3_C
-| | | +--->BN_MP_INIT_SIZE_C
-| | | +--->BN_MP_CLAMP_C
-| | | +--->BN_MP_EXCH_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLEAR_MULTI_C
-| +--->BN_MP_KARATSUBA_MUL_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_S_MP_ADD_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_ADD_C
-| | | +--->BN_MP_CMP_MAG_C
-| | | +--->BN_S_MP_SUB_C
-| | | | +--->BN_MP_GROW_C
-| | +--->BN_S_MP_SUB_C
-| | | +--->BN_MP_GROW_C
-| | +--->BN_MP_LSHD_C
-| | | +--->BN_MP_GROW_C
-| | | +--->BN_MP_RSHD_C
-| | | | +--->BN_MP_ZERO_C
-| +--->BN_FAST_S_MP_MUL_DIGS_C
-| | +--->BN_MP_GROW_C
-| | +--->BN_MP_CLAMP_C
-| +--->BN_S_MP_MUL_DIGS_C
-| | +--->BN_MP_INIT_SIZE_C
-| | +--->BN_MP_CLAMP_C
-| | +--->BN_MP_EXCH_C
-+--->BN_MP_SET_C
-| +--->BN_MP_ZERO_C
-+--->BN_MP_EXCH_C
-
-
-BN_S_MP_MUL_DIGS_C
-+--->BN_FAST_S_MP_MUL_DIGS_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_S_MP_MUL_HIGH_DIGS_C
-+--->BN_FAST_S_MP_MUL_HIGH_DIGS_C
-| +--->BN_MP_GROW_C
-| +--->BN_MP_CLAMP_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_S_MP_SQR_C
-+--->BN_MP_INIT_SIZE_C
-| +--->BN_MP_INIT_C
-+--->BN_MP_CLAMP_C
-+--->BN_MP_EXCH_C
-+--->BN_MP_CLEAR_C
-
-
-BN_S_MP_SUB_C
-+--->BN_MP_GROW_C
-+--->BN_MP_CLAMP_C
-
-
diff --git a/libtommath/tommath.h b/libtommath/tommath.h
index b5faf8c..5fd149c 100644
--- a/libtommath/tommath.h
+++ b/libtommath/tommath.h
@@ -1,14 +1,6 @@
-/* LibTomMath, multiple-precision integer library -- Tom St Denis
- *
- * LibTomMath is a library that provides multiple-precision
- * integer arithmetic as well as number theoretic functionality.
- *
- * The library was designed directly after the MPI library by
- * Michael Fromberger but has been written from scratch with
- * additional optimizations in place.
- *
- * SPDX-License-Identifier: Unlicense
- */
+/* LibTomMath, multiple-precision integer library -- Tom St Denis */
+/* SPDX-License-Identifier: Unlicense */
+
#ifndef BN_H_
#define BN_H_
@@ -159,18 +151,18 @@ void mp_clear_multi(mp_int *mp, ...);
void mp_exch(mp_int *a, mp_int *b);
/* shrink ram required for a bignum */
-int mp_shrink(mp_int *a);
+mp_err mp_shrink(mp_int *a);
/* grow an int to a given size */
-int mp_grow(mp_int *a, int size);
+mp_err mp_grow(mp_int *a, int size);
/* init to a given number of digits */
-int mp_init_size(mp_int *a, int size);
+mp_err mp_init_size(mp_int *a, int size);
/* ---> Basic Manipulations <--- */
#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO)
-#define mp_iseven(a) (!mp_get_bit((a),0))
-#define mp_isodd(a) mp_get_bit((a),0)
+#define mp_iseven(a) (((a)->used == 0 || (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO)
+#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO)
#define mp_isneg(a) (((a)->sign != MP_ZPOS) ? MP_YES : MP_NO)
/* set to zero */
@@ -294,7 +286,7 @@ int mp_tc_or(const mp_int *a, const mp_int *b, mp_int *c);
int mp_tc_and(const mp_int *a, const mp_int *b, mp_int *c);
/* right shift (two complement) */
-int mp_tc_div_2d(const mp_int *a, int b, mp_int *c);
+int mp_signed_rsh(const mp_int *a, int b, mp_int *c);
/* ---> Basic arithmetic <--- */
diff --git a/libtommath/tommath_class.h b/libtommath/tommath_class.h
index 46f9996..b3c09fe 100644
--- a/libtommath/tommath_class.h
+++ b/libtommath/tommath_class.h
@@ -59,7 +59,7 @@
# define BN_MP_FREAD_C
# define BN_MP_FWRITE_C
# define BN_MP_GCD_C
-# define BN_MP_GET_BIT_C
+# define BN_S_MP_GET_BIT_C
# define BN_MP_GET_DOUBLE_C
# define BN_MP_GET_INT_C
# define BN_MP_GET_LONG_C
@@ -135,7 +135,7 @@
# define BN_MP_SUB_D_C
# define BN_MP_SUBMOD_C
# define BN_MP_TC_AND_C
-# define BN_MP_TC_DIV_2D_C
+# define BN_MP_SIGNED_RSH_C
# define BN_MP_TC_OR_C
# define BN_MP_TC_XOR_C
# define BN_MP_TO_SIGNED_BIN_C
@@ -442,7 +442,7 @@
# define BN_MP_CLEAR_C
#endif
-#if defined(BN_MP_GET_BIT_C)
+#if defined(BN_S_MP_GET_BIT_C)
# define BN_MP_ISZERO_C
#endif
@@ -715,7 +715,7 @@
# define BN_MP_MUL_C
# define BN_MP_SUB_C
# define BN_MP_MOD_C
-# define BN_MP_GET_BIT_C
+# define BN_S_MP_GET_BIT_C
# define BN_MP_EXCH_C
# define BN_MP_ISZERO_C
# define BN_MP_CMP_C
@@ -802,7 +802,7 @@
# define BN_MP_MOD_C
# define BN_MP_SQR_C
# define BN_MP_SUB_C
-# define BN_MP_GET_BIT_C
+# define BN_S_MP_GET_BIT_C
# define BN_MP_ADD_C
# define BN_MP_ISODD_C
# define BN_MP_DIV_2_C
@@ -1034,7 +1034,7 @@
# define BN_MP_SUB_C
#endif
-#if defined(BN_MP_TC_DIV_2D_C)
+#if defined(BN_MP_SIGNED_RSH_C)
# define BN_MP_ISNEG_C
# define BN_MP_DIV_2D_C
# define BN_MP_ADD_D_C
diff --git a/tests-perf/test-performance.tcl b/tests-perf/test-performance.tcl
index 418c999..78189e6 100644
--- a/tests-perf/test-performance.tcl
+++ b/tests-perf/test-performance.tcl
@@ -51,13 +51,13 @@ proc _test_out_total {} {
set mintm 0x7fffffff
set maxtm 0
- set nett 0
+ set nettm 0
set wtm 0
set wcnt 0
set i 0
foreach tm $_(itm) {
if {[llength $tm] > 6} {
- set nett [expr {$nett + [lindex $tm 6]}]
+ set nettm [expr {$nettm + [lindex $tm 6]}]
}
set wtm [expr {$wtm + [lindex $tm 0]}]
set wcnt [expr {$wcnt + [lindex $tm 2]}]
@@ -69,15 +69,15 @@ proc _test_out_total {} {
puts [string repeat ** 40]
set s [format "%d cases in %.2f sec." $tcnt [expr {([clock milliseconds] - $_(starttime)) / 1000.0}]]
- if {$nett > 0} {
- append s [format " (%.2f nett-sec.)" [expr {$nett / 1000.0}]]
+ if {$nettm > 0} {
+ append s [format " (%.2f net-sec.)" [expr {$nettm / 1000.0}]]
}
puts "Total $s:"
lset _(m) 0 [format %.6f $wtm]
lset _(m) 2 $wcnt
- lset _(m) 4 [format %.3f [expr {$wcnt / (($nett ? $nett : ($tcnt * [lindex $_(reptime) 0])) / 1000.0)}]]
+ lset _(m) 4 [format %.3f [expr {$wcnt / (($nettm ? $nettm : ($tcnt * [lindex $_(reptime) 0])) / 1000.0)}]]
if {[llength $_(m)] > 6} {
- lset _(m) 6 [format %.3f $nett]
+ lset _(m) 6 [format %.3f $nettm]
}
puts $_(m)
puts "Average:"
diff --git a/tests/cmdAH.test b/tests/cmdAH.test
index 88c0367..f8ab361 100644
--- a/tests/cmdAH.test
+++ b/tests/cmdAH.test
@@ -235,7 +235,7 @@ test cmdAH-5.1 {Tcl_FileObjCmd} -returnCodes error -body {
} -result {wrong # args: should be "file subcommand ?arg ...?"}
test cmdAH-5.2 {Tcl_FileObjCmd} -returnCodes error -body {
file x
-} -result {unknown or ambiguous subcommand "x": must be atime, attributes, channels, copy, delete, dirname, executable, exists, extension, isdirectory, isfile, join, link, lstat, mkdir, mtime, nativename, normalize, owned, pathtype, readable, readlink, rename, rootname, separator, size, split, stat, system, tail, tempfile, type, volumes, or writable}
+} -result {unknown or ambiguous subcommand "x": must be atime, attributes, channels, copy, delete, dirname, executable, exists, extension, isdirectory, isfile, join, link, lstat, mkdir, mtime, nativename, normalize, owned, pathtype, readable, readlink, rename, rootname, separator, size, split, stat, system, tail, tempdir, tempfile, type, volumes, or writable}
test cmdAH-5.3 {Tcl_FileObjCmd} -returnCodes error -body {
file exists
} -result {wrong # args: should be "file exists name"}
@@ -1526,7 +1526,7 @@ test cmdAH-29.6.1 {
# Error conditions
test cmdAH-30.1 {Tcl_FileObjCmd: error conditions} -returnCodes error -body {
file gorp x
-} -result {unknown or ambiguous subcommand "gorp": must be atime, attributes, channels, copy, delete, dirname, executable, exists, extension, isdirectory, isfile, join, link, lstat, mkdir, mtime, nativename, normalize, owned, pathtype, readable, readlink, rename, rootname, separator, size, split, stat, system, tail, tempfile, type, volumes, or writable}
+} -result {unknown or ambiguous subcommand "gorp": must be atime, attributes, channels, copy, delete, dirname, executable, exists, extension, isdirectory, isfile, join, link, lstat, mkdir, mtime, nativename, normalize, owned, pathtype, readable, readlink, rename, rootname, separator, size, split, stat, system, tail, tempdir, tempfile, type, volumes, or writable}
test cmdAH-30.2 {Tcl_FileObjCmd: error conditions} -returnCodes error -body {
file ex x
} -match glob -result {unknown or ambiguous subcommand "ex": must be *}
@@ -1658,6 +1658,62 @@ test cmdAH-32.6 {file tempfile - templates} -body {
} -constraints {unix nonPortable} -cleanup {
catch {file delete $name}
} -result ok
+
+test cmdAH-33.1 {file tempdir} -body {
+ file tempdir a b
+} -returnCodes error -result {wrong # args: should be "file tempdir ?template?"}
+test cmdAH-33.2 {file tempdir} -body {
+ set d [file tempdir]
+ list [file tail $d] [file exists $d] [file type $d] \
+ [glob -nocomplain -directory $d *]
+} -match glob -result {tcl_* 1 directory {}} -cleanup {
+ catch {file delete $d}
+}
+test cmdAH-33.3 {file tempdir} -body {
+ set d [file tempdir gorp]
+ list [file tail $d] [file exists $d] [file type $d] \
+ [glob -nocomplain -directory $d *]
+} -match glob -result {gorp_* 1 directory {}} -cleanup {
+ catch {file delete $d}
+}
+test cmdAH-33.4 {file tempdir} -setup {
+ set base [file join [temporaryDirectory] gorp]
+ file mkdir $base
+} -body {
+ set pre [glob -nocomplain -directory $base *]
+ set d [file normalize [file tempdir $base/]]
+ list [string map [list $base GORP:] $d] [file exists $d] [file type $d] \
+ $pre [glob -nocomplain -directory $d *]
+} -match glob -result {GORP:/tcl_* 1 directory {} {}} -cleanup {
+ catch {file delete -force $base}
+}
+test cmdAH-33.5 {file tempdir} -setup {
+ set base [file join [temporaryDirectory] gorp]
+ file mkdir $base
+} -body {
+ set pre [glob -nocomplain -directory $base *]
+ set d [file normalize [file tempdir $base/gorp]]
+ list [string map [list $base GORP:] $d] [file exists $d] [file type $d] \
+ $pre [glob -nocomplain -directory $d *]
+} -match glob -result {GORP:/gorp_* 1 directory {} {}} -cleanup {
+ catch {file delete -force $base}
+}
+test cmdAH-33.6 {file tempdir: missing parent dir} -setup {
+ set base [file join [temporaryDirectory] gorp]
+ file mkdir $base
+} -returnCodes error -body {
+ file tempdir $base/quux/
+} -cleanup {
+ catch {file delete -force $base}
+} -result {can't create temporary directory: no such file or directory}
+test cmdAH-33.7 {file tempdir: missing parent dir} -setup {
+ set base [file join [temporaryDirectory] gorp]
+ file mkdir $base
+} -returnCodes error -body {
+ file tempdir $base/quux/foobar
+} -cleanup {
+ catch {file delete -force $base}
+} -result {can't create temporary directory: no such file or directory}
# This shouldn't work, but just in case a test above failed...
catch {close $newFileId}
diff --git a/tests/cmdMZ.test b/tests/cmdMZ.test
index 60cc621..60b104f 100644
--- a/tests/cmdMZ.test
+++ b/tests/cmdMZ.test
@@ -369,10 +369,10 @@ test cmdMZ-6.4 {Tcl_TimeRateObjCmd: compile of script happens even with negative
list [catch {timerate "foreach a {c d e} \{" -12456} msg] $msg
} {1 {missing close-brace}}
test cmdMZ-6.5a {Tcl_TimeRateObjCmd: result format and one iteration} {
- regexp {^\d+(?:\.\d+)? \ws/# 1 # \d+(?:\.\d+)? #/sec \d+(?:\.\d+)? nett-ms$} [timerate {} 0]
+ regexp {^\d+(?:\.\d+)? \ws/# 1 # \d+(?:\.\d+)? #/sec \d+(?:\.\d+)? net-ms$} [timerate {} 0]
} 1
test cmdMZ-6.5b {Tcl_TimeRateObjCmd: result format without iterations} {
- regexp {^0 \ws/# 0 # 0 #/sec 0 nett-ms$} [timerate {} 0 0]
+ regexp {^0 \ws/# 0 # 0 #/sec 0 net-ms$} [timerate {} 0 0]
} 1
test cmdMZ-6.6 {Tcl_TimeRateObjCmd: slower commands take longer, but it remains almost the same time of measument} {
set m1 [timerate {_nrt_sleep 0} 20]
diff --git a/tests/coroutine.test b/tests/coroutine.test
index ffb9eb9..86a5481 100644
--- a/tests/coroutine.test
+++ b/tests/coroutine.test
@@ -793,7 +793,152 @@ test coroutine-8.1.2 {coro inject with result, ticket 42202ba1e5ff566e} -body {
set result
} -result {inject-executed}
-test coroutine-9.1 {coro type} {
+test coroutine-9.1 {coroprobe with yield} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ list [coroprobe demo set i] [demo] [coroprobe demo set i] [demo]
+} -cleanup {
+ catch {rename demo {}}
+} -result {1 {} 2 {}}
+test coroutine-9.2 {coroprobe with yieldto} -body {
+ coroutine demo apply {{} { lmap i {1 2} {yieldto string cat} }}
+ list [coroprobe demo set i] [demo a b] [coroprobe demo set i] [demo c d]
+} -cleanup {
+ catch {rename demo {}}
+} -result {1 {} 2 {{a b} {c d}}}
+test coroutine-9.3 {coroprobe errors} -setup {
+ catch {rename demo {}}
+} -body {
+ coroprobe demo set i
+} -returnCodes error -result {can only inject a probe command into a coroutine}
+test coroutine-9.4 {coroprobe errors} -body {
+ proc demo {} { foreach i {1 2} yield }
+ coroprobe demo set i
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {can only inject a probe command into a coroutine}
+test coroutine-9.5 {coroprobe errors} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ coroprobe
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {wrong # args: should be "coroprobe coroName cmd ?arg1 arg2 ...?"}
+test coroutine-9.6 {coroprobe errors} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ coroprobe demo
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {wrong # args: should be "coroprobe coroName cmd ?arg1 arg2 ...?"}
+test coroutine-9.7 {coroprobe errors in probe command} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ coroprobe demo set
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {wrong # args: should be "set varName ?newValue?"}
+test coroutine-9.8 {coroprobe errors in probe command} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ list [catch {coroprobe demo set}] [demo] [coroprobe demo set i]
+} -cleanup {
+ catch {rename demo {}}
+} -result {1 {} 2}
+test coroutine-9.9 {coroprobe: advanced features} -setup {
+ set i [interp create]
+} -body {
+ $i eval {
+ coroutine demo apply {{} {
+ set f [info level],[info frame]
+ foreach i {1 2} yield
+ }}
+ coroprobe demo apply {{} {
+ upvar 1 f f
+ list [info coroutine] [info level] [info frame] $f
+ }}
+ }
+} -cleanup {
+ interp delete $i
+} -result {::demo 2 3 1,2}
+
+test coroutine-10.1 {coroinject with yield} -setup {
+ set result {}
+} -body {
+ coroutine demo apply {{} { lmap i {1 2} yield }}
+ coroinject demo apply {{op val} {lappend ::result $op $val}}
+ list $result [demo x] [demo y] $result
+} -cleanup {
+ catch {rename demo {}}
+} -result {{} {} {{yield x} y} {yield x}}
+test coroutine-10.2 {coroinject stacking} -setup {
+ set result {}
+} -body {
+ coroutine demo apply {{} { lmap i {1 2} yield }}
+ coroinject demo apply {{op val} {lappend ::result $op $val A;return $val}}
+ coroinject demo apply {{op val} {lappend ::result $op $val B;return $val}}
+ list $result [demo x] [demo y] $result
+} -cleanup {
+ catch {rename demo {}}
+} -result {{} {} {x y} {yield x B yield x A}}
+test coroutine-10.3 {coroinject with yieldto} -setup {
+ set result {}
+} -body {
+ coroutine demo apply {{} { lmap i {1 2} {yieldto string cat} }}
+ coroinject demo apply {{op val} {lappend ::result $op $val;return $val}}
+ list $result [demo x mp] [demo y le] $result
+} -cleanup {
+ catch {rename demo {}}
+} -result {{} {} {{x mp} {y le}} {yieldto {x mp}}}
+test coroutine-10.4 {coroinject errors} -setup {
+ catch {rename demo {}}
+} -body {
+ coroinject demo set i
+} -returnCodes error -result {can only inject a command into a coroutine}
+test coroutine-10.5 {coroinject errors} -body {
+ proc demo {} { foreach i {1 2} yield }
+ coroinject demo set i
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {can only inject a command into a coroutine}
+test coroutine-10.6 {coroinject errors} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ coroinject
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {wrong # args: should be "coroinject coroName cmd ?arg1 arg2 ...?"}
+test coroutine-10.7 {coroinject errors} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ coroinject demo
+} -returnCodes error -cleanup {
+ catch {rename demo {}}
+} -result {wrong # args: should be "coroinject coroName cmd ?arg1 arg2 ...?"}
+test coroutine-10.8 {coroinject errors in injected command} -body {
+ coroutine demo apply {{} { foreach i {1 2} yield }}
+ coroinject demo apply {args {error "ERR: $args"}}
+ list [catch demo msg] $msg [catch demo msg] $msg
+} -cleanup {
+ catch {rename demo {}}
+} -result {1 {ERR: yield {}} 1 {invalid command name "demo"}}
+test coroutine-10.9 {coroinject: advanced features} -setup {
+ set i [interp create]
+} -body {
+ $i eval {
+ coroutine demo apply {{} {
+ set l [info level]
+ set f [info frame]
+ lmap i {1 2} yield
+ }}
+ coroinject demo apply {{arg op val} {
+ global result
+ upvar 1 f f l l
+ lappend result [info coroutine] $arg $op $val
+ lappend result [info level] $l [info frame] $f
+ lappend result [yield $arg]
+ return [string toupper $val]
+ }} grill
+ list [demo ABC] [demo pqr] [demo def] $result
+ }
+} -cleanup {
+ interp delete $i
+} -result {grill {} {ABC def} {::demo grill yield ABC 2 1 3 2 pqr}}
+
+test coroutine-11.1 {coro type} {
coroutine demo eval {
yield
yield "PHASE 1"
@@ -803,19 +948,19 @@ test coroutine-9.1 {coro type} {
list [demo] [::tcl::unsupported::corotype demo] \
[demo] [::tcl::unsupported::corotype demo] [demo]
} {{PHASE 1} yield {PHASE 2} yieldto active}
-test coroutine-9.2 {coro type} -setup {
+test coroutine-11.2 {coro type} -setup {
catch {rename nosuchcommand ""}
} -returnCodes error -body {
::tcl::unsupported::corotype nosuchcommand
} -result {can only get coroutine type of a coroutine}
-test coroutine-9.3 {coro type} -returnCodes error -body {
+test coroutine-11.3 {coro type} -returnCodes error -body {
proc notacoroutine {} {}
::tcl::unsupported::corotype notacoroutine
} -returnCodes error -cleanup {
rename notacoroutine {}
} -result {can only get coroutine type of a coroutine}
-test coroutine-10.1 {coroutine general introspection} -setup {
+test coroutine-12.1 {coroutine general introspection} -setup {
set i [interp create]
} -body {
$i eval {
diff --git a/tests/interp.test b/tests/interp.test
index 29e3b2d..76ac01f 100644
--- a/tests/interp.test
+++ b/tests/interp.test
@@ -20,7 +20,7 @@ catch [list package require -exact Tcltest [info patchlevel]]
testConstraint testinterpdelete [llength [info commands testinterpdelete]]
-set hidden_cmds {cd encoding exec exit fconfigure file glob load open pwd socket source tcl:encoding:dirs tcl:encoding:system tcl:file:atime tcl:file:attributes tcl:file:copy tcl:file:delete tcl:file:dirname tcl:file:executable tcl:file:exists tcl:file:extension tcl:file:isdirectory tcl:file:isfile tcl:file:link tcl:file:lstat tcl:file:mkdir tcl:file:mtime tcl:file:nativename tcl:file:normalize tcl:file:owned tcl:file:readable tcl:file:readlink tcl:file:rename tcl:file:rootname tcl:file:size tcl:file:stat tcl:file:tail tcl:file:tempfile tcl:file:type tcl:file:volumes tcl:file:writable tcl:info:cmdtype tcl:info:nameofexecutable tcl:process:autopurge tcl:process:list tcl:process:purge tcl:process:status tcl:zipfs:lmkimg tcl:zipfs:lmkzip tcl:zipfs:mkimg tcl:zipfs:mkkey tcl:zipfs:mkzip tcl:zipfs:mount tcl:zipfs:mount_data tcl:zipfs:unmount unload}
+set hidden_cmds {cd encoding exec exit fconfigure file glob load open pwd socket source tcl:encoding:dirs tcl:encoding:system tcl:file:atime tcl:file:attributes tcl:file:copy tcl:file:delete tcl:file:dirname tcl:file:executable tcl:file:exists tcl:file:extension tcl:file:isdirectory tcl:file:isfile tcl:file:link tcl:file:lstat tcl:file:mkdir tcl:file:mtime tcl:file:nativename tcl:file:normalize tcl:file:owned tcl:file:readable tcl:file:readlink tcl:file:rename tcl:file:rootname tcl:file:size tcl:file:stat tcl:file:tail tcl:file:tempdir tcl:file:tempfile tcl:file:type tcl:file:volumes tcl:file:writable tcl:info:cmdtype tcl:info:nameofexecutable tcl:process:autopurge tcl:process:list tcl:process:purge tcl:process:status tcl:zipfs:lmkimg tcl:zipfs:lmkzip tcl:zipfs:mkimg tcl:zipfs:mkkey tcl:zipfs:mkzip tcl:zipfs:mount tcl:zipfs:mount_data tcl:zipfs:unmount unload}
foreach i [interp slaves] {
interp delete $i
diff --git a/tools/genStubs.tcl b/tools/genStubs.tcl
index f2f410f..83ee6c7 100644
--- a/tools/genStubs.tcl
+++ b/tools/genStubs.tcl
@@ -523,7 +523,7 @@ proc genStubs::makeDecl {name decl index} {
}
append line ", ...)"
if {[lindex $args end] eq "{const char *} format"} {
- append line " TCL_FORMAT_PRINTF(" [expr [llength $args] - 1] ", " [llength $args] ")"
+ append line " TCL_FORMAT_PRINTF(" [expr {[llength $args] - 1}] ", " [llength $args] ")"
}
}
default {
@@ -631,7 +631,7 @@ proc genStubs::makeSlot {name decl index} {
}
append text ", ...)"
if {[lindex $args end] eq "{const char *} format"} {
- append text " TCL_FORMAT_PRINTF(" [expr [llength $args] - 1] ", " [llength $args] ")"
+ append text " TCL_FORMAT_PRINTF(" [expr {[llength $args] - 1}] ", " [llength $args] ")"
}
}
default {
diff --git a/tools/man2help2.tcl b/tools/man2help2.tcl
index 9c8f503..4f3b7e5 100644
--- a/tools/man2help2.tcl
+++ b/tools/man2help2.tcl
@@ -827,7 +827,7 @@ proc IPmacro {argList} {
set text "\u00b7"
}
- set tab [expr $indent * 0.1]i
+ set tab [expr {$indent * 0.1}]i
newPara $tab -$tab
set state(sb) 80
setTabs $tab
diff --git a/tools/man2html2.tcl b/tools/man2html2.tcl
index e4ccedf..8483204 100644
--- a/tools/man2html2.tcl
+++ b/tools/man2html2.tcl
@@ -114,9 +114,9 @@ proc text string {
set pos [string first "\t" $string]
if {$pos >= 0} {
- text [string range $string 0 [expr $pos-1]]
+ text [string range $string 0 [expr {$pos-1}]]
tab
- text [string range $string [expr $pos+1] end]
+ text [string range $string [expr {$pos+1}] end]
return
}
if {$inTable} {
@@ -471,27 +471,27 @@ proc formattedText text {
text $text
return
}
- text [string range $text 0 [expr $index-1]]
- set c [string index $text [expr $index+1]]
+ text [string range $text 0 [expr {$index-1}]]
+ set c [string index $text [expr {$index+1}]]
switch -- $c {
f {
- font [string index $text [expr $index+2]]
- set text [string range $text [expr $index+3] end]
+ font [string index $text [expr {$index+2}]]
+ set text [string range $text [expr {$index+3}] end]
}
e {
text \\
- set text [string range $text [expr $index+2] end]
+ set text [string range $text [expr {$index+2}] end]
}
- {
dash
- set text [string range $text [expr $index+2] end]
+ set text [string range $text [expr {$index+2}] end]
}
| {
- set text [string range $text [expr $index+2] end]
+ set text [string range $text [expr {$index+2}] end]
}
default {
puts stderr "Unknown sequence: \\$c"
- set text [string range $text [expr $index+2] end]
+ set text [string range $text [expr {$index+2}] end]
}
}
}
@@ -527,7 +527,7 @@ proc tab {} {
global inPRE charCnt tabString file
# ? charCnt
if {$inPRE == 1} {
- set pos [expr $charCnt % [string length $tabString] ]
+ set pos [expr {$charCnt % [string length $tabString]}]
set spaces [string first "1" [string range $tabString $pos end] ]
text [format "%*s" [incr spaces] " "]
} else {
diff --git a/tools/regexpTestLib.tcl b/tools/regexpTestLib.tcl
index d84a012..8379159 100644
--- a/tools/regexpTestLib.tcl
+++ b/tools/regexpTestLib.tcl
@@ -17,13 +17,13 @@ proc readInputFile {} {
set len [string length $line]
- if {($len > 0) && ([string index $line [expr $len - 1]] == "\\")} {
+ if {($len > 0) && ([string index $line [expr {$len - 1}]] == "\\")} {
if {[info exists lineArray(c$i)] == 0} {
set lineArray(c$i) 1
} else {
incr lineArray(c$i)
}
- set line [string range $line 0 [expr $len - 2]]
+ set line [string range $line 0 [expr {$len - 2}]]
append lineArray($i) $line
continue
}
@@ -204,7 +204,7 @@ proc convertTestLine {currentLine len lineNum srcLineNum} {
# find the test result
- set numVars [expr $len - 3]
+ set numVars [expr {$len - 3}]
set vars {}
set vals {}
set result 0
diff --git a/tools/str2c b/tools/str2c
index cff7ba2..588abdf 100644
--- a/tools/str2c
+++ b/tools/str2c
@@ -39,7 +39,7 @@ static char data\[\]=\"[translate $r]\";"
static const char * const data\[\]= {"
set n 1
for {set i 0} {$i<$lg} {incr i $MAX} {
- set part [string range $r $i [expr $i+$MAX-1]]
+ set part [string range $r $i [expr {$i+$MAX-1}]]
set len [string length $part];
puts "\t/* Start of part $n ($len characters) */"
puts "\t\"[translate $part]\","
diff --git a/unix/Makefile.in b/unix/Makefile.in
index 2dd50b3..0afd069 100644
--- a/unix/Makefile.in
+++ b/unix/Makefile.in
@@ -326,7 +326,7 @@ TOMMATH_OBJS = bn_reverse.o bn_fast_s_mp_mul_digs.o \
bn_mp_cnt_lsb.o bn_mp_copy.o \
bn_mp_count_bits.o bn_mp_div.o bn_mp_div_d.o bn_mp_div_2.o \
bn_mp_div_2d.o bn_mp_div_3.o bn_mp_exch.o \
- bn_mp_expt_d.o bn_mp_expt_d_ex.o bn_mp_get_bit.o bn_mp_get_int.o \
+ bn_mp_expt_d.o bn_mp_expt_d_ex.o bn_s_mp_get_bit.o bn_mp_get_int.o \
bn_mp_get_long.o bn_mp_get_long_long.o bn_mp_grow.o bn_mp_init.o \
bn_mp_init_copy.o bn_mp_init_multi.o bn_mp_init_set.o \
bn_mp_init_set_int.o bn_mp_init_size.o bn_mp_karatsuba_mul.o \
@@ -337,7 +337,7 @@ TOMMATH_OBJS = bn_reverse.o bn_fast_s_mp_mul_digs.o \
bn_mp_read_radix.o bn_mp_rshd.o bn_mp_set.o bn_mp_set_int.o \
bn_mp_set_long.o bn_mp_set_long_long.o bn_mp_shrink.o \
bn_mp_sqr.o bn_mp_sqrt.o bn_mp_sub.o bn_mp_sub_d.o \
- bn_mp_tc_and.o bn_mp_tc_div_2d.o bn_mp_tc_or.o bn_mp_tc_xor.o \
+ bn_mp_signed_rsh.o \
bn_mp_to_unsigned_bin.o bn_mp_to_unsigned_bin_n.o \
bn_mp_toom_mul.o bn_mp_toom_sqr.o bn_mp_toradix_n.o \
bn_mp_unsigned_bin_size.o bn_mp_xor.o bn_mp_zero.o bn_s_mp_add.o \
@@ -547,10 +547,7 @@ TOMMATH_SRCS = \
$(TOMMATH_DIR)/bn_mp_sqrt.c \
$(TOMMATH_DIR)/bn_mp_sub.c \
$(TOMMATH_DIR)/bn_mp_sub_d.c \
- $(TOMMATH_DIR)/bn_mp_tc_and.c \
- $(TOMMATH_DIR)/bn_mp_tc_div_2d.c \
- $(TOMMATH_DIR)/bn_mp_tc_or.c \
- $(TOMMATH_DIR)/bn_mp_tc_xor.c \
+ $(TOMMATH_DIR)/bn_mp_signed_rsh.c \
$(TOMMATH_DIR)/bn_mp_to_unsigned_bin.c \
$(TOMMATH_DIR)/bn_mp_to_unsigned_bin_n.c \
$(TOMMATH_DIR)/bn_mp_toom_mul.c \
@@ -1528,8 +1525,8 @@ bn_mp_expt_d.o: $(TOMMATH_DIR)/bn_mp_expt_d.c $(MATHHDRS)
bn_mp_expt_d_ex.o: $(TOMMATH_DIR)/bn_mp_expt_d_ex.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_expt_d_ex.c
-bn_mp_get_bit.o: $(TOMMATH_DIR)/bn_mp_get_bit.c $(MATHHDRS)
- $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_get_bit.c
+bn_s_mp_get_bit.o: $(TOMMATH_DIR)/bn_s_mp_get_bit.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_s_mp_get_bit.c
bn_mp_get_int.o: $(TOMMATH_DIR)/bn_mp_get_int.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_get_int.c
@@ -1633,17 +1630,8 @@ bn_mp_sub.o: $(TOMMATH_DIR)/bn_mp_sub.c $(MATHHDRS)
bn_mp_sub_d.o: $(TOMMATH_DIR)/bn_mp_sub_d.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_sub_d.c
-bn_mp_tc_and.o: $(TOMMATH_DIR)/bn_mp_tc_and.c $(MATHHDRS)
- $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_tc_and.c
-
-bn_mp_tc_div_2d.o: $(TOMMATH_DIR)/bn_mp_tc_div_2d.c $(MATHHDRS)
- $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_tc_div_2d.c
-
-bn_mp_tc_or.o: $(TOMMATH_DIR)/bn_mp_tc_or.c $(MATHHDRS)
- $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_tc_or.c
-
-bn_mp_tc_xor.o: $(TOMMATH_DIR)/bn_mp_tc_xor.c $(MATHHDRS)
- $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_tc_xor.c
+bn_mp_signed_rsh.o: $(TOMMATH_DIR)/bn_mp_signed_rsh.c $(MATHHDRS)
+ $(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_signed_rsh.c
bn_mp_to_unsigned_bin.o: $(TOMMATH_DIR)/bn_mp_to_unsigned_bin.c $(MATHHDRS)
$(CC) -c $(CC_SWITCHES) $(TOMMATH_DIR)/bn_mp_to_unsigned_bin.c
@@ -2180,7 +2168,7 @@ dist: $(UNIX_DIR)/configure $(UNIX_DIR)/tclConfig.h.in $(UNIX_DIR)/tcl.pc.in \
cp -p $(GENERIC_DIR)/*.decls $(DISTDIR)/generic
cp -p $(GENERIC_DIR)/README $(DISTDIR)/generic
cp -p $(GENERIC_DIR)/tclGetDate.y $(DISTDIR)/generic
- cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README \
+ cp -p $(TOP_DIR)/changes $(TOP_DIR)/ChangeLog $(TOP_DIR)/README.md \
$(TOP_DIR)/ChangeLog.[12]??? $(TOP_DIR)/license.terms \
$(DISTDIR)
@mkdir $(DISTDIR)/library
diff --git a/unix/tclUnixFCmd.c b/unix/tclUnixFCmd.c
index e963589..3e1a5c2 100644
--- a/unix/tclUnixFCmd.c
+++ b/unix/tclUnixFCmd.c
@@ -2273,6 +2273,85 @@ DefaultTempDir(void)
return TCL_TEMPORARY_FILE_DIRECTORY;
}
+/*
+ *----------------------------------------------------------------------
+ *
+ * TclpCreateTemporaryDirectory --
+ *
+ * Creates a temporary directory, possibly based on the supplied bits and
+ * pieces of template supplied in the arguments.
+ *
+ * Results:
+ * An object (refcount 0) containing the name of the newly-created
+ * directory, or NULL on failure.
+ *
+ * Side effects:
+ * Accesses the native filesystem. Makes a directory.
+ *
+ *----------------------------------------------------------------------
+ */
+
+Tcl_Obj *
+TclpCreateTemporaryDirectory(
+ Tcl_Obj *dirObj,
+ Tcl_Obj *basenameObj)
+{
+ Tcl_DString template, tmp;
+ const char *string;
+
+#define DEFAULT_TEMP_DIR_PREFIX "tcl"
+
+ /*
+ * Build the template in writable memory from the user-supplied pieces and
+ * some defaults.
+ */
+
+ if (dirObj) {
+ string = TclGetString(dirObj);
+ Tcl_UtfToExternalDString(NULL, string, dirObj->length, &template);
+ } else {
+ Tcl_DStringInit(&template);
+ Tcl_DStringAppend(&template, DefaultTempDir(), -1); /* INTL: native */
+ }
+
+ if (Tcl_DStringValue(&template)[Tcl_DStringLength(&template) - 1] != '/') {
+ TclDStringAppendLiteral(&template, "/");
+ }
+
+ if (basenameObj) {
+ string = TclGetString(basenameObj);
+ if (basenameObj->length) {
+ Tcl_UtfToExternalDString(NULL, string, basenameObj->length, &tmp);
+ TclDStringAppendDString(&template, &tmp);
+ Tcl_DStringFree(&tmp);
+ } else {
+ TclDStringAppendLiteral(&template, DEFAULT_TEMP_DIR_PREFIX);
+ }
+ } else {
+ TclDStringAppendLiteral(&template, DEFAULT_TEMP_DIR_PREFIX);
+ }
+
+ TclDStringAppendLiteral(&template, "_XXXXXX");
+
+ /*
+ * Make the temporary directory.
+ */
+
+ if (mkdtemp(Tcl_DStringValue(&template)) == NULL) {
+ Tcl_DStringFree(&template);
+ return NULL;
+ }
+
+ /*
+ * The template has been updated. Tell the caller what it was.
+ */
+
+ Tcl_ExternalToUtfDString(NULL, Tcl_DStringValue(&template),
+ Tcl_DStringLength(&template), &tmp);
+ Tcl_DStringFree(&template);
+ return TclDStringToObj(&tmp);
+}
+
#if defined(__CYGWIN__)
static void
diff --git a/win/Makefile.in b/win/Makefile.in
index faf4b77..af2b6e3 100644
--- a/win/Makefile.in
+++ b/win/Makefile.in
@@ -383,7 +383,7 @@ TOMMATH_OBJS = \
bn_mp_exch.${OBJEXT} \
bn_mp_expt_d.${OBJEXT} \
bn_mp_expt_d_ex.${OBJEXT} \
- bn_mp_get_bit.${OBJEXT} \
+ bn_s_mp_get_bit.${OBJEXT} \
bn_mp_get_int.${OBJEXT} \
bn_mp_get_long.${OBJEXT} \
bn_mp_get_long_long.${OBJEXT} \
@@ -418,10 +418,7 @@ TOMMATH_OBJS = \
bn_mp_sqrt.${OBJEXT} \
bn_mp_sub.${OBJEXT} \
bn_mp_sub_d.${OBJEXT} \
- bn_mp_tc_and.${OBJEXT} \
- bn_mp_tc_div_2d.${OBJEXT} \
- bn_mp_tc_or.${OBJEXT} \
- bn_mp_tc_xor.${OBJEXT} \
+ bn_mp_signed_rsh.${OBJEXT} \
bn_mp_to_unsigned_bin.${OBJEXT} \
bn_mp_to_unsigned_bin_n.${OBJEXT} \
bn_mp_toom_mul.${OBJEXT} \
diff --git a/win/makefile.vc b/win/makefile.vc
index e159538..44af015 100644
--- a/win/makefile.vc
+++ b/win/makefile.vc
@@ -275,7 +275,7 @@ TOMMATHOBJS = \
$(TMP_DIR)\bn_mp_exch.obj \
$(TMP_DIR)\bn_mp_expt_d.obj \
$(TMP_DIR)\bn_mp_expt_d_ex.obj \
- $(TMP_DIR)\bn_mp_get_bit.obj \
+ $(TMP_DIR)\bn_s_mp_get_bit.obj \
$(TMP_DIR)\bn_mp_get_int.obj \
$(TMP_DIR)\bn_mp_get_long.obj \
$(TMP_DIR)\bn_mp_get_long_long.obj \
@@ -310,10 +310,7 @@ TOMMATHOBJS = \
$(TMP_DIR)\bn_mp_sqrt.obj \
$(TMP_DIR)\bn_mp_sub.obj \
$(TMP_DIR)\bn_mp_sub_d.obj \
- $(TMP_DIR)\bn_mp_tc_and.obj \
- $(TMP_DIR)\bn_mp_tc_div_2d.obj \
- $(TMP_DIR)\bn_mp_tc_or.obj \
- $(TMP_DIR)\bn_mp_tc_xor.obj \
+ $(TMP_DIR)\bn_mp_signed_rsh.obj \
$(TMP_DIR)\bn_mp_to_unsigned_bin.obj \
$(TMP_DIR)\bn_mp_to_unsigned_bin_n.obj \
$(TMP_DIR)\bn_mp_toom_mul.obj \
diff --git a/win/tclWinFCmd.c b/win/tclWinFCmd.c
index e8863dc..dbf2738 100644
--- a/win/tclWinFCmd.c
+++ b/win/tclWinFCmd.c
@@ -1969,6 +1969,121 @@ TclpObjListVolumes(void)
}
/*
+ *----------------------------------------------------------------------
+ *
+ * TclpCreateTemporaryDirectory --
+ *
+ * Creates a temporary directory, possibly based on the supplied bits and
+ * pieces of template supplied in the arguments.
+ *
+ * Results:
+ * An object (refcount 0) containing the name of the newly-created
+ * directory, or NULL on failure.
+ *
+ * Side effects:
+ * Accesses the native filesystem. Makes a directory.
+ *
+ *----------------------------------------------------------------------
+ */
+
+Tcl_Obj *
+TclpCreateTemporaryDirectory(
+ Tcl_Obj *dirObj,
+ Tcl_Obj *basenameObj)
+{
+ Tcl_DString base, name; /* Contains WCHARs */
+ int baseLen;
+ DWORD error;
+ WCHAR tempBuf[MAX_PATH + 1];
+ DWORD len = GetTempPathW(MAX_PATH, tempBuf);
+
+ /*
+ * Build the path in writable memory from the user-supplied pieces and
+ * some defaults. First, the parent temporary directory.
+ */
+
+ if (dirObj) {
+ Tcl_GetString(dirObj);
+ if (dirObj->length < 1) {
+ goto useSystemTemp;
+ }
+ Tcl_WinUtfToTChar(Tcl_GetString(dirObj), -1, &base);
+ if (dirObj->bytes[dirObj->length - 1] != '\\') {
+ TclUtfToWCharDString("\\", -1, &base);
+ }
+ } else {
+ useSystemTemp:
+ Tcl_DStringInit(&base);
+ Tcl_DStringAppend(&base, (char *) tempBuf, len * sizeof(WCHAR));
+ }
+
+ /*
+ * Next, the base of the directory name.
+ */
+
+#define DEFAULT_TEMP_DIR_PREFIX "tcl"
+#define SUFFIX_LENGTH 8
+
+ if (basenameObj) {
+ Tcl_WinUtfToTChar(Tcl_GetString(basenameObj), -1, &name);
+ TclDStringAppendDString(&base, &name);
+ Tcl_DStringFree(&name);
+ } else {
+ TclUtfToWCharDString(DEFAULT_TEMP_DIR_PREFIX, -1, &base);
+ }
+ TclUtfToWCharDString("_", -1, &base);
+
+ /*
+ * Now we keep on trying random suffixes until we get one that works
+ * (i.e., that doesn't trigger the ERROR_ALREADY_EXISTS error). Note that
+ * SUFFIX_LENGTH is longer than on Unix because we expect to be not on a
+ * case-sensitive filesystem.
+ */
+
+ baseLen = Tcl_DStringLength(&base);
+ do {
+ char tempbuf[SUFFIX_LENGTH + 1];
+ int i;
+ static const char randChars[] =
+ "QWERTYUIOPASDFGHJKLZXCVBNM1234567890";
+ static const int numRandChars = sizeof(randChars) - 1;
+
+ /*
+ * Put a random suffix on the end.
+ */
+
+ error = ERROR_SUCCESS;
+ tempbuf[SUFFIX_LENGTH] = '\0';
+ for (i = 0 ; i < SUFFIX_LENGTH; i++) {
+ tempbuf[i] = randChars[(int) (rand() % numRandChars)];
+ }
+ Tcl_DStringSetLength(&base, baseLen);
+ TclUtfToWCharDString(tempbuf, -1, &base);
+ } while (!CreateDirectoryW((LPCWSTR) Tcl_DStringValue(&base), NULL)
+ && (error = GetLastError()) == ERROR_ALREADY_EXISTS);
+
+ /*
+ * Check for other errors. The big ones are ERROR_PATH_NOT_FOUND and
+ * ERROR_ACCESS_DENIED.
+ */
+
+ if (error != ERROR_SUCCESS) {
+ TclWinConvertError(error);
+ Tcl_DStringFree(&base);
+ return NULL;
+ }
+
+ /*
+ * We actually made the directory, so we're done! Report what we made back
+ * as a (clean) Tcl_Obj.
+ */
+
+ Tcl_WinTCharToUtf((LPCWSTR) Tcl_DStringValue(&base), -1, &name);
+ Tcl_DStringFree(&base);
+ return TclDStringToObj(&name);
+}
+
+/*
* Local Variables:
* mode: c
* c-basic-offset: 4