# Propagated and other forms of arithmetic error 

#### Document technical information

Format doc
Size 34.3 kB
First found May 22, 2018

#### Document content analysis

Category
Also themed
Language
Type
not defined
Concepts
no text concepts found

#### Transcript

```Propagated and other forms of arithmetic error: A little algebra will
show that the relative propagated error for multiplication (“.”) is given by…
Rel(xa.ya) = (xa.ya – xt.yt)/(xt.yt) = (1+x)(1+y) – 1 = x + y  x y,

where val = Rel(val) for val = xa & ya. Therefore, if x & y are ‘small’…
Rel(xa.ya)  Rel(xa) + Rel(ya).
What about the total relative error associated with multiplication? Well…
Rel(fl(xa.ya)) = (fl(xa.ya) xt.yt))/(xt.yt)
= (xa.ya – xt.yt)/(xt.yt) + (xa.ya)/(xt.yt) (fl(xa.ya) - xa.ya)/(xa.ya)
= x + y  x y + (1 + y)(1 + x) Rel*(fl(xa.ya)),
where Rel* is the relative error associated with rounding the operation (here
the product xa.ya). So, if higher-order relative error terms are neglected, then
Rel(fl(xaya))  Rel(xa) + Rel(ya) + Rel*(fl(xa.ya)).
Note: Part of the above holds for the floated value of any binary operation
(say “” = +, , ., /, or whatever…) as the following shows –
Rel(fl(xaya)) = (fl(xaya) - xtyt)/(xtyt)
= Rel(xaya) + ((xaya)/(xtyt)) Rel*(fl(xaya))
= Rel(xaya) + Rel(xaya) Rel*(fl(xaya)) + Rel*(fl(xaya)).
Therefore, if the term “Rel(xaya) Rel*(fl(xaya))” is neglected, then
Rel(fl(xaya))  Rel(xaya) + Rel*(fl(xaya)).
In particular, if the right ‘smallness’ conditions hold, then it can be shown that
Rel(fl(xa/ya))  Rel(xa) – Rel(ya) + Rel*(fl(xa/ya)),
Rel(fl(xa+ya))  (xt/(xt+yt))Rel(xa) + (yt/(xt+yt))Rel(ya) + Rel*(fl(xa+ya)),
&
Rel(fl(xaya))  (xt/(xtyt))Rel(xa) + (-yt/(xtyt))Rel(ya) + Rel*(fl(xaya)).
```