public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Question on valid transformations for cbrt
@ 2004-03-06 18:54 Kaveh R. Ghazi
  2004-03-07 15:11 ` Roger Sayle
  0 siblings, 1 reply; 5+ messages in thread
From: Kaveh R. Ghazi @ 2004-03-06 18:54 UTC (permalink / raw)
  To: gcc; +Cc: roger

I'm in the process of writing some transformations for builtin cbrt.
However it occurs to me that certain combinations might be invalid
when converting to pow, because pow doesn't like negative values with
non-integral powers.  E.g.:

	cbrt(sqrt(x)) -> pow(x, 1/6)

can be considered "safe" with -ffast-math IMO because if x was
negative the original sqrt would have choked anyway.  However here:

	cbrt(pow(x,y)) -> pow(x,y/3)

if x is negative and y is say 5, the first form would succeed but the
second would get an error EDOM because 5/3 is non-integral.  So I
don't think the latter is a valid transformation even with
-ffast-math.

(Perhaps the latter is okay if x passes tree_expr_nonnegative_p, but
that might not be worth it.)

Thoughts?

		Thanks,
		--Kaveh
--
Kaveh R. Ghazi			ghazi@caip.rutgers.edu

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-04-02  0:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-06 18:54 Question on valid transformations for cbrt Kaveh R. Ghazi
2004-03-07 15:11 ` Roger Sayle
2004-03-10 15:32   ` Segher Boessenkool
2004-03-10 16:06     ` Robert Dewar
2004-04-02  0:22   ` Geoff Keating

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).