hello, I wrote a code that prints a fibonacci sequence
Code:
#include <math.h>
#include <stdio.h>

/* http://goldennumber.net/five(5).htm */
#define PHI pow(M_E, asinh(0.5))

/* http://goldennumber.net/five(5).htm */
double fib (unsigned int n)
{
    return((pow(PHI, (double)n)) / sqrt(5.0));
}

int main (void)
{
    int x;  /* counter */

    for (x = 0; x < 100; ++x) {
        printf("%5d%40.0f\n", x, fib(x));
    }

    return(0);
}
the problem is, when x=71 it prints incorrect result (f[n] != f[n-1] + f[n-2]), it also prints incorrect result for x=76 and after x=79.

can anyone help me with this problem?