Mari kita tunjukkan dengan (Saya malas mencoba untuk mendapatkan versi yang dilingkari dari operator divisi) analog floating-point dari perkalian yang tepat (× ), penambahan ( + ), dan pengurangan ( - ), masing-masing. Kami akan menganggap (IEEE-754) bahwa untuk semuanya
[ x ⊕ y ] = ( x + y ) ( 1⊗,⊕,⊖×+−
mana ϵ m a c h adalah mesin epsilon yang memberikan batas atas pada kesalahan relatif karena pembulatan. Kami juga akan menggunakan lemma berikut (dengan asumsi semua | δ i | ≤ ε m a c h , dan m tidak terlalu besar) yang dapat dengan mudah dibuktikan:
m Π i = 1 ( 1 + δ i
[x⊕y]=(x+y)(1+δ⊕),|δ⊕|≤ϵmach,
ϵmach|δi|≤ϵmachm∏i=1m(1+δi)=1+θ(m),|θ(m)|≤mϵmach1−mϵmach
fx,y,z
f(x,y,z)=(x×z)−(y×z)
f1~f2~x~=x(1+δx),y~,z~ , sebagai berikut:
f1~(x~,y~,z~)=(x~⊗z~)⊖(y~⊗z~),
f2~(x~,y~,z~)=(x~⊖y~)⊗z~.
f1~
f1~=((x(1+δx)×z(1+δz))(1+δ⊗xz)(x~⊗z~)−(y(1+δy)×z(1+δz))(1+δ⊗yz)(y~⊗z~))(1+δ⊖)=xz(1+δx)(1+δz)(1+δ⊗xz)(1+δ⊖)−yz(1+δy)(1+δz)(1+δ⊗yz)(1+δ⊖)=xz(1+θxz,1)−yz(1+θyz,1).
|θxz,1|,|θyz,1|≤4ϵmach1−4ϵmach
f2~
f2~=(((x(1+δx)−y(1+δy)(1+δ⊖xy))×(z(1+δz)))(1+δ⊗)=xz(1+δx)(1+δz)(1+δ⊖xy)(1+δ⊗)−yz(1+δy)(1+δz)(1+δ⊖xy)(1+δ⊗)=xz(1+θx,2)−yz(1+θy,2).
|θx,2|,|θy,2|≤4ϵmach1−4ϵmach
f1~f2~f2~f1~
xy
|f1~−f||f|=|xz+xzθxz,1−yz−yzθyz,1−(xz−yz)||xz−yz|=|xθxz,1−yθyz,1||x−y|≤|x|+|y||x−y|4ϵmach1−4ϵmach,
|f2~−f||f|=|xz+xzθx,2−yz−yzθy,2−(xz−yz)||xz−yz|=|xθx,2−yθy,2||x−y|≤|x|+|y||x−y|4ϵmach1−4ϵmach.
θx,y,z(x−y)xy
x,y,z,f(x,y,z)∈F0F0 adalah himpunan semua angka floating-point normal.