I am developing a differential element solution in Visual Basic .NET

For this I need to perform matrix calculations for matrixes between 100 and 10000 elements. I defined all variables and arrays as double. Number of double calculations are between 10^5 and 10^10.

All calculations seems to converge correctly when done on a XP-proffesional platform (Pentium 4), where my IDE Visual basic is installed.

After installation on Win98 (Pentium III), the program seems to work fine. However, occasionally the calculations crash due to a NaN error. Notice that exactly the same calculations do not crash at the XP platform.

During the calculations the following functions are used from System.math: Sqrt() and Log().

Further I use a double division of two small doubles, which result should be between 0 and 2.

The former two small doubles are formed by addition of 100 to 10000 double*double calculations.

I tried using different .NET Frameworks, but that did not help.

Please help....

I am sure that something changed in XP but I don't what and why.

In my case, I ended up building my own rounding function.