Introduction
In the process of creating a library of transcendental functions, some interesting features of the algorithms involved were closely studied and highlighted. Constrained by the PC hardware (x86/87 microprocessor), optimal speed and accuracy were achieved by using low level Assembly language. The graphical analysis tools developed for this purpose allow deeper understanding of computational processes and the associated errors. Some results can be viewed below.To be able to achieve great precision, 256-bit-mantissa Virtual Floating Point Registers were recently introduced. As example, they were used to evaluate the Bessel Function of argument and index equal to 5,000,000.
For educational purposes, the behavior of some elementary transcendental functions in the complex plane is visualized in a separate section.
The programming tools, methods and algorithms used for the analyses and presentations, on these pages, can be used for any mathematical function. Customized computer programs for x86/87 assemblers and compilers can be ordered. For details, please write to x87@iging.com.
Graphical AnalysesBessel FunctionsJν(x) — Error analysisRiemann Zeta Function
J10000(x≤ 9990) — Debye's asymptotic expansion
J1000000(x) — Fixed large index and large argumentsζ(x) — Riemann Zeta function
Virtual Floating Point RegistersIntroduction to Virtual Registers
Evaluating 1F1(-n;½;x)
Complex Elementary (Transcendental) Functions1/Z(*): |1/Z|, Re{1/Z}, Im{1/Z}, 1/Z
Ln(Z): |Ln(Z)|, Re{Ln(Z)}, Im{Ln(Z)}, Ln(Z)
Sin(Z): |Sin(Z)|, Re{Sin(Z)}, Im{Sin(Z)}, Sin(Z)
Exp(Z): |Exp(Z)|, Re{Exp(Z)}, Im{Exp(Z)}, Exp(Z)
(*) 1/Z is rational.