Seems solved the problem. In general, all written correctly. But actually works correctly sparc
version. Because standard to convert int64-> float64
must be a loss of precision. And in the code when you convert (for intel) int64-> float80
loss occurs. Ie intel-based code works with higher accuracy , but it is in contradiction with the standard.
Perhaps it is some sort of agreement for the platform Intel, which is permissible by default to work this way. Surely there are some options on which the code runs in strict accordance with the standard (but becomes slower)