Program Accuracy Synthesis via Dependency Graph and Polynomial Approximation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solutions fail to formally ensure that the global error in computer programs due to floating-point rounding errors and mathematical functions' approximations remains below a target upper bound, especially when using black-box implementations of mathematical functions.
Innovation Solution
A method that converts an input computer program into an output program with a target global accuracy by determining a dependency graph, synthesizing mathematical functions to achieve internal accuracies, and replacing original functions with synthesized ones, using value range determination and synthesis tools to ensure the global accuracy is met.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If black-box implementations of mathematical functions are used, then ease of manufacture is improved, but reliability deteriorates because global error cannot be formally ensured
Solution Approach 1:
The patent segments the mathematical function implementation into multiple polynomial terms with controlled degrees. Each term is synthesized to contribute to the overall accuracy requirement, allowing the global error to be bounded while maintaining ease of implementation through modular polynomial synthesis.
Solution Approach 2:
The patent changes the parameter of mathematical function implementation from black-box to synthesized polynomial form. By controlling the degree and coefficients of polynomial terms, the system achieves both ease of implementation and formal error bounds through parameterized polynomial synthesis.
2Productivity
If floating-point arithmetic is used, then productivity is improved, but measurement precision deteriorates due to rounding errors
Solution Approach 1:
The patent performs preliminary synthesis of polynomial approximations with predetermined accuracy bounds before actual computation. By pre-calculating the polynomial terms and their error contributions, the system ensures that rounding errors remain within acceptable bounds while maintaining fast floating-point execution.
Solution Approach 2:
The patent incorporates error bound analysis as feedback in the polynomial synthesis process. The synthesis tool adjusts polynomial degrees and coefficients based on feedback from error analysis, ensuring that the final implementation meets both speed and precision requirements.
Data Source
AI summary
A computer implemented method for converting an input computer program into an output computer program having a target global accuracy discloses, including: receiving a target internal accuracy for each mathematical function included in the input computer program, analyzing the input computer program to determine a dependency graph describing dependencies between mathematical functions calls, the mathematical functions being processed according to the dependency graph by, for each processed mathematical function: using a value range determination tool to produce a value range for the processed mathematical function based on each synthesized mathematical function obtained for a mathematical function on which the processed mathematical function depends according to the dependency graph, using a synthesis tool to produce a synthesized mathematical function having the target internal accuracy, the output computer program being generated by replacing each mathematical function call by a call to its corresponding synthesized mathematical function.


