I tried in C++ as long, long double and float also. May be if 1st time step output is perfectly match without any precision loss, it works. But i am not able to know how to do that.  Because every time steps ’ output is depend on previous time steps. Is it ?