📝 Original Info
- Title: Interval Semantics for Standard Floating-Point Arithmetic
- ArXiv ID: 0810.4196
- Date: 2008-10-24
- Authors: Researchers from original ArXiv paper
📝 Abstract
If the non-zero finite floating-point numbers are interpreted as point intervals, then the effect of rounding can be interpreted as computing one of the bounds of the result according to interval arithmetic. We give an interval interpretation for the signed zeros and infinities, so that the undefined operations 0*inf, inf - inf, inf/inf, and 0/0 become defined. In this way no operation remains that gives rise to an error condition. Mathematically questionable features of the floating-point standard become well-defined sets of reals. Interval semantics provides a basis for the verification of numerical algorithms. We derive the results of the newly defined operations and consider the implications for hardware implementation.
💡 Deep Analysis
Deep Dive into Interval Semantics for Standard Floating-Point Arithmetic.
If the non-zero finite floating-point numbers are interpreted as point intervals, then the effect of rounding can be interpreted as computing one of the bounds of the result according to interval arithmetic. We give an interval interpretation for the signed zeros and infinities, so that the undefined operations 0*inf, inf - inf, inf/inf, and 0/0 become defined. In this way no operation remains that gives rise to an error condition. Mathematically questionable features of the floating-point standard become well-defined sets of reals. Interval semantics provides a basis for the verification of numerical algorithms. We derive the results of the newly defined operations and consider the implications for hardware implementation.
📄 Full Content
arXiv:0810.4196v1 [cs.NA] 23 Oct 2008
Interval Semantics
for Standard Floating-Point Arithmetic
W.W. Edmonson
North Carolina State University
M.H. van Emden
University of Victoria
Research Report DCS-323-IR
Department of Computer Science, University of Victoria
Abstract
If the non-zero finite floating-point numbers are interpreted as point intervals, then
the effect of rounding can be interpreted as computing one of the bounds of the result
according to interval arithmetic. We give an interval interpretation for the signed zeros
and infinities, so that the undefined operations ±0 ∗±∞, ±∞−±∞, ±∞/ ± ∞, and
±0/ ± 0 become defined.
In this way no operation remains that gives rise to an error condition. Mathemat-
ically questionable features of the floating-point standard become well-defined sets of
reals. Interval semantics provides a basis for the verification of numerical algorithms.
We derive the results of the newly defined operations and consider the implications for
hardware implementation.
Keywords: IEEE floating-point standard, interval arithmetic, NaNs, exceptions
1
Introduction
IEEE Standard 754-1985 for Binary Floating-Point Arithmetic [4]1 achieved great success
by finding a synthesis of the best features of the existing processors and causing these to be
widely adopted in a short time. It was not to be expected that IEEE Standard 754 had a
remedy for the fact that none of the existing processors was based on a coherent approach
to the fundamental problem of how to approximate on digital processors the operations of
arithmetic on reals. An example of the ad-hoc approach taken in IEEE Standard 754 is the
introduction of the infinities. Mathematically, there is one advantage: division of a non-
zero number by zero becomes defined. But it introduces more exceptions than it removes:
0 ∗±∞, ±∞−±∞, ±∞/ ± ∞, while 0/0 remains undefined.
Any improvement to the standard needs to be based on a mathematically convincing
approach to the following problem:
1Its successor, IEEE Standard 754-2008 for Floating-Point Arithmetic[5], does not make changes that are
relevant to this paper.
1
How to map the arithmetical structure of the reals to a closed, exception-free
algebra on a set of computer-representable quantities.
In this paper we review results from [3] (see there for earlier references) that allow such an
algebra to be based on intervals. Surprisingly, most of the standard carries over unchanged
to our algebra. What does not carry over are the error conditions: there are none.
Our proposal is based on the idea of interpreting floating-point numbers as sets of reals.
The sets of reals include the reals themselves by identifying the singleton sets {x} with x
itself, for all reals x. As we will show, this defines an arithmetic that is compatible with
arithmetic on the reals. Where it deviates is that division by zero becomes defined.
But there is a more important advantage. Any arithmetic that intends to approximate
real arithmetic with a finite set of values necessarily introduces uncertainty. For example, in
binary floating-point arithmetic the result of dividing 1 by 10 leaves uncertainty concerning
the digits from a certain point onwards. Also, as there is necessarily a greatest floating-
point number M, there has to be uncertainty about any result that exceeds this maximum.
Hence there need to be floating-point numbers that are interpreted as {x ∈R | M ≤x}
and as {x ∈R | −M ≥x}.
In Section 2 we show how the theoretical advantages of arithmetic on sets of reals
becomes practical by restricting these sets to be intervals. We also establish notation and
terminology for intervals and floating-point numbers. In Section 3 we define the central
feature of this paper: an interval interpretation of each floating-point number. Here we take
the view that zero has finite precision. In Section 4 we state theorems that establish that
to a large extent the existing floating-point standard already implements the arithmetic
operations on floating-point numbers interpreted as intervals.
Section 5 treats the case
where interval semantics changes the existing definition; Section 6 derives the undefined
cases according to interval semantics. Section 7 is a short discussion of infinite-precision
zeroes. Finally, in Section 8 we survey the consequences of the new semantics for hardware
implementation.
2
Preliminaries
2.1
Floating-point numbers
If x is a floating-point number greater than −∞(less than +∞), then x−(x+) is the next
smaller (greater) floating-point number. The constant m is defined as the least positive
floating-point number and M as the greatest finite floating-point number.
2.2
Intervals
“Real intervals” are to be interpreted according to the following definition: a real interval
is a closed, connected set of reals. According to a well-known result in topology, such sets
take the following forms: {x ∈R | x ≤b}, {x ∈R | a ≤x ≤b}, {x ∈R | a ≤x}, R and
2
∅. Here a and b are reals such that a ≤b. We denote these sets as (−∞, b], [a, b], [a, +∞),
(−∞, +∞)
…(Full text truncated)…
📸 Image Gallery
Reference
This content is AI-processed based on ArXiv data.