Without optimization the result of the function call is, as a bit pattern,

        System's cbrt(5.3049894774e-315) system = 2a2fffffffffffff
        Damian's cbrt(5.3049894774e-315) damian = 2a30000000000000

Only the second is the correct/exact value.

With optimization the result of the function call is, as a bit pattern,

        System's cbrt(5.3049894774e-315) system = 2a30000000000000
        Damian's cbrt(5.3049894774e-315) damian = 2a30000000000000

Both are the correct/exact value.

To me, this means that a different library is being linked after the
compilation stage. This agrees with the manual page for 'gcc'.

I do not really think the problem is in Chapel. Still weird.

As an aside, my 3.5 billion evaluations of my generic cube root routine, and checking that the result is accurate to machine tolerance takes,

        96 seconds (with -O)
and
        335 seconds (no -O)

Impressive.

I am not using --ieee-fast because I do not want it doing things which affect NaN processing.

Regards - Damian

Pacific Engineering Systems International, 277-279 Broadway, Glebe NSW 2037
Ph:+61-2-8571-0847 .. Fx:+61-2-9692-9623 | unsolicited email not wanted here
Views & opinions here are mine and not those of any past or present employer


_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to