{C言語}{IEEE 754}{誤差}=}(3)

{再考版Rump例題 K#9-D657/A-648C}

「再考版Rump例題」という名前なのかは怪しい。

参考?
http://www.math.twcu.ac.jp/ogita/lec/u-tokyo2016/ogita01.pdf
が引用→
Loh, E.,Walster (2002)「G.W. Rump's Example Revisited」『Reliable Computing』8号,245–248頁

\(a = 77617.0\),\(b = 33096.0\)の時,

\[ (333.75 −a^2)b^6 + a^2(11 a^2 b^2 − 121 b^4 − 2)  + 5.5 b^8 + \frac{a}{2 b} \]

の値は?

// JIS X 3010:2003

#include <stdio.h>
#include <stdlib.h>

#include <float.h>
#include <math.h>

int main(void) {
const float a = 77617.0, b = 33096.0;

printf("%f.6\n", \
       (333.75 - pow(a, 2)) * pow(b, 6) + \
       pow(a, 2) * \
       (11 * pow(a, 2) * pow(b, 2) - \
       121 * pow(b, 4) - 2) + \
       5.5 * pow(b, 8) + a / (2 * b));

exit(EXIT_SUCCESS);
}
=}
{残差}{IEEE 754}{誤差}=}(3)
{計算}{誤差}{計算}=}(3)
{誤差}
{}