Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I mean the values of the computation not the runtime. I don’t know enough about ARM to say if doubles simply punt denormals to 0 for example.
 help



IEEE 754 defines bit exact results for a lot of FP operations, including denormals.

And yet floating point math in general is non-deterministic across different CPUs. IEEE 754 was not good enough, so it's a valid question.

It is non-deterministic mainly due to compilers that generate different code or when there are concurrent computations that are executed in an unpredictable order.

A single sequence of floating-point operations executed on an IEEE 754 compliant CPU has always been perfectly deterministic since the first version of the standard.

Who wants a deterministic computation must use a single-threaded program or a multi-threaded program where the order of execution is deterministic, and one must be careful so that changes in compiler versions or compilation options will not affect the type and order of the operations that are executed.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: