The problem.
Microsoft Visual C++ 2005 compiler, 32bit windows xp sp3, amd 64 x2 cpu.
Code:
double a = 3015.0; double b = 0.00025298219406977296
If you need precise math, don't use floating point.
Do yourself a favor and get a BigNum library with rational number support.