I Can't Believe It's Not Zero!

(replying to I Can't Believe It's Not Zero!)

@dotstdy @mcc @hikari Yes, I would like several hundred ud2 instructions sprinkled randomly throughout my program. I will definitely not regret this.

Josh Simmons

(replying to I Can't Believe It's Not Zero!)

@steve @mcc @hikari my favorite part is when people work hard to write explicit nan checks and handling, which then immediately get thrown away by the compiler. (this is all only in internal builds, at least, but it's a bit funny)

I Can't Believe It's Not Zero!

(replying to Josh Simmons)

@dotstdy @mcc @hikari we went to some length to avoid this in Apple's math.h, so you get a fast inline test when __FINITE_MATH_ONLY__ == 0 and a mandatory function call if you turn on fast-math. This still can't catch everything.

Josh Simmons

(replying to I Can't Believe It's Not Zero!)

@steve @mcc @hikari Another fun case is when you generate nans with fast math, but don't without. Feels very Congrats, You Played Yourself.

Daniel Gibson

(replying to Josh Simmons)

@dotstdy @steve @mcc @hikari
people seriously use fast math?!

Josh Simmons

(replying to Daniel Gibson)

@Doomed_Daniel @steve @mcc @hikari well probably associative-math would get most of the buck without so much of the bang, but where's the fun in that.

I Can't Believe It's Not Zero!

(replying to Josh Simmons)

@dotstdy @Doomed_Daniel @mcc @hikari associative-math and no-signed-zeros generally get you most of the benefits

Paul Khuong

(replying to I Can't Believe It's Not Zero!)

@steve @dotstdy @Doomed_Daniel @mcc @hikari What I really want is a diff of the source-to-source transforms with and without the flags :/