So what I'm reading based on your question and your comments is that the library is actually not too big.
The only tool you need to determine is the command shell or Windows File Explorer. Look at the file size. Is it so big that it causes real real problems? (Unacceptable loading time, will not fit in memory on the target platform, something like this)?
If not, then you should worry about code readability and maintainability, and nothing more. And the tool for this is your eyes. Read the code and follow the steps necessary to read it more conveniently if necessary.
If you can indicate the actual reason why the size of the executable is a problem , edit it in your question, as this is an important context.
However, assuming file size is actually a problem:
Nested functions are usually not a problem, because the compiler and no one else chooses which functions are built-in. A simple inline designation does not embed the actual generated code. The compiler enters into itself if it determines a compromise between the larger code and the lesser indirectness to be worth it. If a function is called frequently, it will not be included, because it will drastically affect the size of the code, which can hurt performance.
If you are concerned that the built-in functions cause code bloat, just compile the "optimize size" checkbox. Then the compiler will limit the attachment in cases where it does not affect the size of the executable file noticeably.
To find out which characters are the largest, analyze the map file as @Suma suggested.
But in fact, you said it yourself when you mentioned "the known error of opiomization without errors."
The very first profiling act you need to do is ask - is the size of the executable really a problem ? In the comments, you said that you “have a feeling” that is useless in the context of profiling and can be translated “no,” the size of the executable file is not a problem. "
Profile. Gather data and identify problems. Before worrying about how to reduce the size of the executable, find out what the size of the executable is and determine if this is really a problem. You haven't done it yet. You read in the book that “bloating code is a problem in C ++,” and therefore you assume that bloating is a problem in your program. but is it? What for? How do you determine what it is?