This is actually a bit more subtle than you'd think. Are those constants precise and exact? (There's certainly floating point code that exploits the cancellations in the floating point model) There's many floating point computations that can't be done with exact rational operations. There's also certain aspects that are target dependent like operations having 80bit vs 64bit precision. (Ie using the old intel fp registers vs sse2 and newer)
Hi,I'm cutting my teeth on some constant folding for floats in the cmm.I have a question regarding the ticket I'm tackling:Should floats be folded with infinite precision (and later truncated to the platform float size) -- most useful/accurate, or folded with the platform precision, i.e. double, losing accuracy but keeping consistent behaviour with -O0 -- most "correct"?I would prefer the first case because it's *much* easier to implement than the second, and it'll probably rot less.Regards.