Metalibm: a mathematical functions code generator. (English) Zbl 1434.68660

Hong, Hoon (ed.) et al., Mathematical software – ICMS 2014. 4th international congress, Seoul, South Korea, August 5–9, 2014. Proceedings. Berlin: Springer. Lect. Notes Comput. Sci. 8592, 713-717 (2014).
Summary: There are several different libraries with code for mathematical functions such as exp, log, sin, cos, etc. They provide only one implementation for each function. As there is a link between accuracy and performance, that approach is not optimal. Sometimes there is a need to rewrite a function’s implementation with the respect to a particular specification.
In this paper we present a code generator for parametrized implementations of mathematical functions. We discuss the benefits of code generation for mathematical libraries and present how to implement mathematical functions. We also explain how the mathematical functions are usually implemented and generalize this idea for the case of arbitrary function with implementation parameters.
Our code generator produces C code for parametrized functions within a known scheme: range reduction (domain splitting), polynomial approximation and reconstruction. This approach can be expanded to generate code for black-box functions, e.g. defined only by differential equations.
For the entire collection see [Zbl 1293.65003].


68V35 Digital mathematics libraries and repositories
65-04 Software, source code, etc. for problems pertaining to numerical analysis
65Y99 Computer aspects of numerical algorithms


Metalibm; Gappa; Sollya
Full Text: DOI HAL