Calculus Function Code Optimization by Input Interval

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer programs lack automated tools for optimizing calculus function calls, leading to suboptimal performance due to the manual selection and replacement of executable code, which can result in inefficient execution times and reduced precision.

Innovation Solution

A method that automatically determines eligible function calls, generates optimized executable code based on input parameter intervals and desired accuracy, and replaces default code with optimized implementations using algorithms like Taylor series and Chebyshev polynomials to minimize execution time while maintaining sufficient precision.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a generic algorithm is used to implement calculus functions in software libraries, then the library can be applied to a large range of conditions, but the execution time is increased and precision may be reduced under restricted conditions

Engineering Contradiction:
Improverange of conditionsVSAvoidexecution time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the input parameter space into multiple intervals and creates specific optimized implementations for each interval. The optimization tool automatically identifies which interval a given input falls into and selects the appropriate implementation, allowing generic adaptability while achieving specialized performance for restricted conditions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic selection of calculus function implementations based on runtime input parameter values. The optimization tool generates code that dynamically determines the appropriate interval for each input and selects the corresponding optimized implementation, rather than using a static generic implementation for all cases.

Inventive Principle:
Principle #15Dynamics

2Productivity

If a special implementation is used for restricted conditions, then better execution performances can be achieved, but the library becomes application-specific and less generic

Engineering Contradiction:
Improveexecution performanceVSAvoidapplication independence
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal optimization framework that works across different applications and calculus functions. The optimization tool analyzes the actual input parameter ranges from the specific application and generates optimized implementations tailored to those ranges, maintaining application independence while achieving specialized performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the parameters of the calculus function implementations based on the input parameter intervals. Different implementations are created with optimized parameters (such as polynomial degrees, approximation methods, or algorithmic constants) that are specifically tuned for restricted input ranges, achieving better performance without sacrificing generality.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If manual determination and replacement of function implementations is performed by developers, then optimized code can be selected, but the process is time-consuming and error-prone

Engineering Contradiction:
Improveprecision of selectionVSAvoidoptimization time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements a self-service optimization system where the optimization tool automatically analyzes the computer program, identifies calculus function calls, determines input parameter intervals, selects appropriate implementations, and generates optimized code without requiring manual developer intervention. The system serves itself by using the program's own execution characteristics to drive the optimization process.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of developer analysis and code replacement with an automated computational optimization tool. The tool uses algorithmic analysis to identify optimization opportunities and automatically generates the optimized implementations, substituting human manual work with automated mechanical processes.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentEP3493053B1Optimization of the execution time of a computer program by determining the implementation of a function according to range of input parameters and accuracy
Publication Date: 2023.07.19 BULL SA
  • EP3493053B1 patent drawingFigure 1~2
  • EP3493053B1 patent drawing
  • EP3493053B1 patent drawing

AI summary

This invention relates to a method of optimization of a computer program, comprising - a first step (S11, S12, S13, S14) of determination of a call of a function having at least one input parameter, said call corresponding to a first criterion according to which said input parameter is inside an interval substantially smaller than the range of possible values for said input parameter, and to a second criterion corresponding to a desired accuracy for said call; - a second step (S2) of automatic generation of an executable code for implementing said function, minimizing execution time for said input parameter being within said interval and compliant with said desired accuracy; - a third step (S3) of replacing the existing code implementing said function by the executable code generated at said second step.