we know that cos(2mPI) = 1 , for every integer m. however, I get following output .
value of m = 1.000000e+01 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+02 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+03 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+04 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+05 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+06 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+07 and value of cos(2*m*pi) = 1.000000000000000
value of m = 1.000000e+08 and value of cos(2*m*pi) = 0.999999999999997
value of m = 1.000000e+09 and value of cos(2*m*pi) = 0.999999999999998
value of m = 1.000000e+10 and value of cos(2*m*pi) = 0.999999999989970
value of m = 1.000000e+11 and value of cos(2*m*pi) = 0.999999999564035
value of m = 1.000000e+12 and value of cos(2*m*pi) = 0.999999854510183
value of m = 1.000000e+13 and value of cos(2*m*pi) = 0.999985451053279
value of m = 1.000000e+14 and value of cos(2*m*pi) = 0.999742535619873
value of m = 1.000000e+15 and value of cos(2*m*pi) = 0.888410566323832
value of m = 1.000000e+16 and value of cos(2*m*pi) = 0.718430574337184
value of m = 1.000000e+17 and value of cos(2*m*pi) = -0.438105159926831
value of m = 1.000000e+18 and value of cos(2*m*pi) = 0.176561618304251
value of m = 1.000000e+19 and value of cos(2*m*pi) = -0.114036978390490
value of m = 1.000000e+20 and value of cos(2*m*pi) = 0.689416156299807
why do we not always compute the right output? as value of m become larger , the approximation change significantly.Not sure which type of float point error is causing this. Any help?