Program Accuracy Synthesis via Dependency Graph and Polynomial Approximation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveease of implementationVSAvoidglobal error bound
Core Design Contradiction:
Ease of manufactureVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If floating-point arithmetic is used, then productivity is improved, but measurement precision deteriorates due to rounding errors

Engineering Contradiction:
Improvecomputation speedVSAvoidrounding error
Core Design Contradiction:
ProductivityVSMeasurement precision

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20240419442A1Method and system for converting input computer program into output computer program
Publication Date: 2024.12.19 MITSUBISHI ELECTRIC CORP
  • US20240419442A1 patent drawing
  • US20240419442A1 patent drawing
  • US20240419442A1 patent drawing

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.