This is actually a long standing issue but has only recently come to light. C2 uses platform dependent Nodes to take advantage of hardware instructions for trig and log functions. All of these nodes have Value methods which will constant fold a constant input. The problem is that the SharedRuntime version of the functions are the strict ones but the platform dependent ones aren't strict so this can lead to different values being returned. The fix is to stop constant folding these operations.