Arctangent Computation via Lookup Table Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for computing arctangents at high precision are excessively slow, making them unsuitable for real-time applications in machine learning and other fields.
Innovation Solution
A high-performance arctangent system that generates a compact lookup table to shift the arctangent calculation into a high-precision range, using a lower-accuracy polynomial approximation and angle shifting to achieve rapid computation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If polynomial approximations are used for arctangent computation, then computation speed is improved, but accuracy deteriorates
Solution Approach 1:
The arctangent computation is segmented into two parts: a polynomial approximation for speed and a lookup table for precision correction. The angle is divided into a mantissa part (handled by polynomial) and a significand part (handled by lookup table), allowing each component to optimize for its strength.
Solution Approach 2:
A lookup table acts as an intermediary between the fast but inaccurate polynomial approximation and the final high-precision result. The lookup table provides correction values that bridge the gap between low-precision polynomial output and high-precision arctangent values.
2Measurement precision
If high-precision arctangent computation methods are used, then accuracy is improved, but computation speed deteriorates
Solution Approach 1:
The computation is segmented so that the majority of the work (polynomial evaluation) can be performed quickly, while only a correction step (lookup table access and addition) is needed to achieve high precision. This avoids the need for slow high-precision polynomial evaluations throughout.
Solution Approach 2:
Instead of performing full high-precision computation, the system performs a lower-precision polynomial approximation and then applies a partial correction from the lookup table. This excessive correction approach achieves high precision without the excessive computational cost of full high-precision methods.
3Measurement precision
If lookup tables are used to improve precision, then accuracy is improved, but memory usage and access time increase
Solution Approach 1:
The lookup table is segmented to store only the correction values (significand adjustments) rather than complete arctangent values. This reduces the table size and improves cache performance while maintaining precision correction capability.
Solution Approach 2:
The lookup table stores high-precision correction values only where needed (for the significand portion), while the polynomial handles the bulk computation. This localized precision approach minimizes memory requirements while achieving high overall precision.
Data Source
AI summary
Systems, methods, and other embodiments associated with high-performance arctangent computation at arbitrarily high precision are described. In one embodiment, an example method brackets an angle to a working range of an arctangent approximation polynomial. A closest index of a lookup table to the bracketed angle is determined. An angle shift for the bracketed angle is generated that is configured to move the bracketed angle to a high-precision segment of the range segments. A shifted angle is generated based on the bracketed angle and the angle shift. The arctangent approximation polynomial is evaluated at the shifted angle to produce an estimated arctangent of the shifted angle. A pre-computed arctangent corresponding to the closest index in the lookup table is retrieved from the lookup table in proximate memory. An augmented-precision arctangent is then generated from the estimated arctangent and the pre-computed arctangent.


