JuliaCon 2026

Mantas Mikaitis

I am a Lecturer in the School of Computer Science at the University of Leeds. Before this I was a Research Associate with the Numerical Linear Algebra Group at the University of Manchester, working with Professor Nicholas J. Higham. I received a B.Sc. (Hons.) degree in Computer Science in 2016 and a PhD degree in Computer Science in 2020, both from the University of Manchester. My research interests include: computer arithmetic, numerical linear algebra, high-performance computing, mathematical software, performance optimization and benchmarking.

Website: https://mmikaitis.github.io


Session

08-13
10:00
30min
Accuracy of Mathematical Functions in Julia
Mantas Mikaitis

Basic computer arithmetic operations, such as +, ×, or ÷ are correctly rounded, whilst mathematical functions such as ex, ln(x), or sin(x) in general are not, meaning that separate implementations may provide different results when presented with an exact same input, and that their accuracy may differ. We present a methodology and a software tool that is suited for exhaustive and non-exhaustive testing of mathematical functions of Julia in various floating-point formats. The software tool is useful to the users of Julia, to quantise the level of accuracy of the mathematical functions and interpret possible effects of errors on their scientific computation codes that depend on these functions. It is also useful to the developers and maintainers of the functions in Julia Base, to test the modifications to existing functions and to test the accuracy of new functions. The software (a test bench) is designed to be easy to set up for running the accuracy tests in automatic regression testing. Our focus is to provide software that is user friendly and allows to avoid the need for specialised knowledge of floating-point arithmetic or the workings of mathematical functions; users only need to supply a list of formats, choose the rounding modes, and specify the input space search strategies based on how long they can afford the testing to run. We have utilized the test bench to determine the errors of a subset of mathematical functions in the latest version of Julia, for binary16, binary32, and binary64 IEEE 754 floating-point formats, and found 0.49 to 0.51ULPs in binary16, and 0.5 to 2.4ULPs of error in binary32 and binary64. The functions that may be correctly rounded (error of 0.5ULP) in all the three formats are sqrt and cbrt. The following functions may be correctly rounded only for binary16: sinh, asin, cospi, sinpi, atanh, log2, tanh.

Approximate Computing in Numerical Linear Algebra
Room 6